Кастомные теги
Кастомный тег — это кастомная переменная, значение которой берётся из вашего приложения. После того как вы выберете Value comes from outside the app в настройках переменной, приложение может задать её значение через Adapty SDK. Например, текстовый элемент содержит «Coins:» и кастомный тег. Если приложение передаёт «120» для этого тега, пользователи видят «Coins: 120».
Используйте кастомные теги, чтобы показывать:
- Кто это за пользователь: имя пользователя в приветствии, например «С возвращением, DragonSlayer42!»
- Что есть у пользователя: количество дней в серии или уровень игрока.
- Что вычисляет ваше приложение: скидка на большой пакет или ИМТ, рассчитанный на основе ответов пользователя в предыдущем флоу.
Значения и резервные данные
Ваше приложение определяет каждое значение по имени кастомного тега. Значение всегда является строкой. Adapty не форматирует и не переводит строку, поэтому приложение должно самостоятельно сделать каждое значение читаемым для пользователя перед отображением во флоу. Например, передавайте “1,250”, а не “1250.0”.
Пользователи видят Начальное значение пользовательского тега как резервное в следующих случаях:
- Ваше приложение не передаёт никакого значения для тега.
- Пользователь не обновил приложение до версии, которая передаёт это значение.
- Имя в коде вашего приложения не совпадает с полным именем тега, включая регистр букв.
- Другой пользовательский тег в том же текстовом элементе не имеет значения. В этом случае каждый пользовательский тег в этом текстовом элементе показывает своё начальное значение.
Чтобы ничего не отображалось вместо тега, передайте пустую строку. Adapty считает пустую строку значением, поэтому резервный вариант не показывается.
1. Создайте пользовательский тег
-
Откройте панель Variables во флоу-билдере.
-
Добавьте новую переменную — нажмите .
-
Задайте Name переменной. Код приложения должен ссылаться на неё именно так, включая регистр букв.
- Символы: используйте латинские буквы (A–Z и a–z), цифры,
_и-. Чтобы поместить тег в группу, начните имя с названия группы и точки, напримерuser.streak. - Зарезервированные имена: не используйте зарезервированные имена в любом регистре — например,
PRICE,TITLE,VALUEили имена, начинающиеся сTIMER_. - Уникальность: имя должно быть уникальным в пределах флоу.
- Символы: используйте латинские буквы (A–Z и a–z), цифры,
-
(Опционально) Чтобы различать переменные между собой, заполните поле Description. При наведении курсора на имя переменной в билдере вы увидите это описание.
-
В поле Initial value введите значение по умолчанию, которое пользователи увидят, если приложение не передаст никакого значения:
- Слово, подходящее любому пользователю: для тега
usernameв приветствии введитеfriend. Неаутентифицированные пользователи увидят «Welcome back, friend!». Обратите внимание, что начальное значение нельзя локализовать. - Тире для баланса или счётчика: чтобы не показывать некорректный баланс неаутентифицированным пользователям, введите тире (
—).
- Слово, подходящее любому пользователю: для тега
-
(Только для переменных типа String) Установите флажок Value comes from outside the app. Это действие необратимо и фиксирует Value Type.
-
Нажмите Create variable.
Переменные привязаны к конкретному флоу. Чтобы использовать пользовательский тег в другом флоу, создайте его там с тем же именем.
Замените переменную пользовательским тегом
Установить флажок Value comes from outside the app можно только при создании переменной. Чтобы отображать значение из приложения вместо обычной пользовательской переменной — например, из конвертированного пейвола — замените переменную пользовательским тегом:
- Удалите переменную и все её упоминания во флоу.
- Создайте пользовательский тег с тем же именем.
- Вставьте пользовательский тег в каждый текстовый элемент, в котором использовалась переменная.
2. Добавьте пользовательский тег в текстовый элемент
Выберите текстовый элемент. В разделе Content нажмите Add variable и выберите тег на вкладке Custom.
Пользовательские теги можно вставлять в каждую ветку условного текста, но нельзя использовать их в условиях if.
3. Передайте значения из вашего приложения
В коде приложения нужно использовать точное имя каждого кастомного тега, включая его группу. Например, если в группе user есть тег streak, полное имя тега — user.streak.
Код настройки зависит от платформы:
Чтобы протестировать пользовательские теги, откройте флоу в своём приложении после добавления кода, который устанавливает их значения. Холст конструктора и предпросмотр на устройствах отображают только начальные значения: мобильное приложение Adapty не устанавливает значения пользовательских тегов.
Ограничения
- Только текстовые элементы: Пользовательские теги можно вставлять только в текстовые элементы. Следующие элементы не поддерживаются:
- Действия Set variable
- Действия Show alert
- Действия Open URL
- Плейсхолдеры полей ввода
- Условия на пользовательские теги недоступны: Нельзя использовать пользовательский тег в условии или условной видимости. Чтобы показывать нужные фразы, элементы и экраны в зависимости от значения из приложения:
- Фраза: Сформируйте её в коде приложения и передайте как значение тега. Например, для тега
coins_messageпередайте «У вас 120 монет» игрокам с монетами и «Получите первые монеты» остальным. - Элементы и экраны: Сохраните значение как пользовательский атрибут. Затем покажите отдельный флоу аудитории, построенной на основе этого атрибута.
- Фраза: Сформируйте её в коде приложения и передайте как значение тега. Например, для тега
- Метода SDK для обновления значений в открытом флоу нет: Чтобы показать результат на основе того, что пользователь ввёл во флоу, передайте результат в следующий флоу — как в примере с BMI.