Зачем нужны глобальные переменные
Глобальные переменные — это переменные проекта, содержимое которых доступно всем пользователям и не удаляется само по себе.
Обычные переменные — это временные переменные. Их содержимое является персональным для каждого пользователя и эти данные существуют до тех пор, пока пользователь не выйдет из цепочки с блоками.
Содержимое глобальных переменных доступно всем. Т.е. любой пользователь может управлять содержимым этих переменных (если, конечно вы дадите им эту возможность).
Например, мы создаем глобальную переменную с названием "iPhone 14" и задаем числовое значение 1.
Это значит, что если какой-то пользователь получит айфон и уменьшит значение на 1, то другие пользователи уже не смогут его получить, потому что внутри стоит 0.
Глобальные переменные имеют три типа данных:
Примеры хранения информации
Для числового поля:
- Количество подарков
- Количество участников
- Количество уроков
- и т.д.
Т.е. любые числовые значения, которые могут меняться для всех пользователей. И чтобы вручную не менять в куче мест данные, достаточно создать глобальную переменную и вывести переменную.
Для текстового поля:
- Список вопросов для квиза
- Список мудрых мыслей
- Имена пользователей
- и т.д.
Текстовое поле удобно для хранения большого количества текста, который мы можем превращать в массив и далее обрабатывать его любым методом: выдавать конкретное значение, удалять, добавлять, выдавать рандомное значение и т.д.
Для JSON-поля:
- Статистика (шаги пользователя, оплата, этапы и т.д.)
- Список id партнеров и их рефералов
- Рейтинг участников
- и т.д.
JSON-поле удобно, если нужно хранить большой объем информации, многоуровневые данные, т.е. данные с привязкой к каким-то значениям.
Список переменных:
{global:system_name.name}
- системное имя глобальной переменной. Для данного примера вернет: system_name
{global:system_name.title}
- Наименование глобальной переменной (задается при создании глобальной переменной)
{global:system_name.text}
- Текст внутри глобальной переменной
{global:system_name.number}
- Число внутри глобальной переменной
{global:system_name.value}
- JSON-объект внутри глобальной переменной
{global:system_name.value.object}
- Путь к значению отдельного параметра json объекта