Оффер профкурса после просмотра курса
Оффер показывается после просмотра курса и закрытия плеера. Его содержимое настраивается отдельно для каждой категории курса через Firebase Remote Config.
Не изменяйте `engage_course_professions`
Этот параметр используется на других экранах. Для оффера после закрытия плеера предназначен только engage_categories.
Параметры Remote Config
| Параметр | Тип | Начальное значение | Назначение |
|---|---|---|---|
engage_categories | JSON | {} | Содержимое оффера для каждой категории курса |
profcourse_bottom_sheet_max_shows | Number | 3 | Максимальное суммарное число показов за скользящий период |
profcourse_bottom_sheet_period_hours | Number | 72 | Длительность скользящего периода в часах |
engage_categories изначально остаётся пустым. Контент-менеджер заполняет его после согласования текстов и изображений. Пока параметр равен {}, оффер не показывается.
Значение -1 в profcourse_bottom_sheet_max_shows полностью отключает оффер. Другие неположительные, дробные или некорректные значения заменяются локальным значением 3. Для profcourse_bottom_sheet_period_hours допустимо только положительное целое число; иначе используется 72.
Структура engage_categories
Корневой объект содержит пары «ID категории курса — содержимое оффера». Дополнительная обёртка data не нужна.
{
"<ID категории>": {
"image": {
"type": "themed",
"light": {
"type": "default",
"asset": "https://example.com/profcourse-light@3x.png"
},
"dark": {
"type": "default",
"asset": "https://example.com/profcourse-dark@3x.png"
}
},
"title": "Заголовок",
"description": "Описание",
"locales": [
"ru"
],
"action": {
"type": "form",
"text": "Оставить заявку",
"reason": "Оффер профкурса после просмотра курса"
}
}
}Для каждого элемента обязательны image, title, description и action. Поле locales необязательно; без него используется ru.
Не добавляйте поля доставки In-App Messaging: enabled, start, end и condition. Поле count также не используется.
Изображения
Одно изображение
{
"type": "default",
"asset": "https://example.com/profcourse@3x.png"
}Отдельные изображения для телефона и планшета
{
"type": "responsive",
"mobile": "https://example.com/profcourse-mobile@3x.png",
"tablet": "https://example.com/profcourse-tablet@3x.png"
}Отдельные изображения для светлой и тёмной темы
{
"type": "themed",
"light": {
"type": "default",
"asset": "https://example.com/profcourse-light@3x.png"
},
"dark": {
"type": "default",
"asset": "https://example.com/profcourse-dark@3x.png"
}
}В light и dark можно использовать default или responsive. Ссылка должна быть доступна приложению по HTTPS. Встроенный в приложение путь можно использовать только для уже добавленного ресурса; новое локальное изображение требует выпуска приложения.
Действия
Форма
{
"type": "form",
"text": "Оставить заявку",
"reason": "Оффер профкурса после просмотра курса"
}text обязателен. reason необязателен.
Ссылка
{
"type": "link",
"text": "Подробнее",
"url": "https://example.com/profcourse"
}Все поля обязательны.
Публикация
- Откройте Firebase Remote Config.
- Откройте
engage_categoriesи вставьте весь корневой JSON-объект. - Проверьте ID категории, тексты, ссылки на изображения, локали и действие.
- Сохраните и опубликуйте изменения.
- Проверьте оффер на iOS и Android, в светлой и тёмной теме. Для
responsive-изображений также проверьте телефон и планшет.
Если категория отсутствует, параметр пуст или запись некорректна, оффер не показывается и лимит показов не расходуется. После исправления и публикации конфигурации выпуск новой версии приложения не требуется.