Firebase In-App Messaging предоставляет полезный набор преднастроенных поведений и типов сообщений с внешним видом по умолчанию, но в некоторых случаях может потребоваться расширить поведение и содержание сообщений. In-App Messaging позволяет добавлять действия к сообщениям и настраивать их внешний вид.
Добавьте действие к вашему сообщению
С помощью действий вы можете использовать сообщения внутри приложения, чтобы направлять пользователей на веб-сайт или определенный экран в вашем приложении.
Реализовать обработчик глубоких ссылок
Firebase In-App Messaging использует обработчики ссылок для обработки действий. SDK поддерживает несколько обработчиков, поэтому, если в вашем приложении уже есть один обработчик, Firebase In-App Messaging может использовать его без дополнительной настройки. Если у вас ещё нет обработчика, вы можете использовать Firebase Dynamic Links . Подробнее см. в статье Создание динамических ссылок на iOS .
Добавьте действие к вашему сообщению с помощью консоли Firebase
Как только в вашем приложении появится обработчик ссылок, вы будете готовы создать кампанию с действием. Откройте консоль Firebase в разделе «Сообщения» и начните новую кампанию или отредактируйте существующую. В этой кампании укажите действия «Карточка» , «Текст кнопки» и «Действие кнопки» , « Изображение » или « Баннер» , где действие представляет собой соответствующую глубокую ссылку.
Формат действия зависит от выбранного макета сообщения. Модальные окна добавляют кнопки действий с настраиваемым текстом, цветом текста и фоном. Изображения и верхние баннеры, с другой стороны, становятся интерактивными и вызывают указанное действие при нажатии.
Изменить внешний вид сообщения
Firebase In-App Messaging позволяет настраивать отображение сообщений, изменяя способ отображения сообщений в приложении, стили шрифтов, форму кнопок и другие параметры. Существует два способа изменить отображение сообщений: изменить стандартные настройки Firebase In-App Messaging или создать собственную библиотеку отображения сообщений с нуля.
Изменить дисплеи по умолчанию
Самый простой способ настройки сообщений — это создание на основе кода отображения сообщений по умолчанию в Firebase In-App Messaging .
Клонируйте репозиторий firebase-ios-sdk
Для начала клонируйте последнюю версию репозитория firebase-ios-sdk и откройте каталог InAppMessaging .
Выберите типы сообщений для изменения
После клонирования репозитория вы можете изменить любой или все типы сообщений Firebase In-App Messaging : Card , Modal ), Banner ) и ImageOnly только изображение). Каждый тип соответствует макету сообщения в процессе создания кампании Firebase In-App Messaging .
Соответственно, каждый тип имеет доступ к разному набору данных, определяемому параметрами настройки кампании в консоли Firebase :
| Тип | titleText | bodyText | textColor | цвет фона | imageData | actionButton | вторичная кнопка действия |
|---|---|---|---|---|---|---|---|
| Карта | |||||||
| Модальный | |||||||
| Баннер | |||||||
| Только изображение |
Измените код отображения сообщения
Учитывая ограничения на типы сообщений, вы можете изменять их по своему усмотрению. Вы можете создать баннер, который будет отображаться в нижней части приложения, перемещать кнопку действия в модальном окне, встраивать сообщения приложения в ленту пользователя или вносить любые другие изменения, которые позволят сообщениям выглядеть и восприниматься в соответствии с вашим приложением.
При изменении отображения сообщений следует обратить внимание на два основных момента:
- Каталоги типов сообщений: Каждый тип сообщений имеет отдельный каталог с файлами, определяющими логику этого типа:
- Раскадровка: Библиотека
InAppMessagingтакже имеет файл.storyboard, который помогает определить пользовательский интерфейс для всех трех типов сообщений:
Измените файлы в каталогах предпочитаемых вами типов сообщений и соответствующих разделах .storyboard чтобы создать собственные отображения сообщений.
Обновите свой podfile, чтобы использовать измененный код InAppMessaging
Чтобы Firebase In-App Messaging использовал ваши измененные отображения сообщений вместо отображений по умолчанию, обновите свой podfile для использования настроенной вами библиотеки InAppMessaging :
# Uncomment the next line to define a global platform for your project # platform :ios, '9.0' target 'YourProject' do # Comment the next line if you're not using Swift and don't want to use dynamic frameworks use_frameworks! # Pods for YourProject pod 'Firebase' # Remove the default InAppMessaging pod: # pod 'Firebase/InAppMessaging' # Overwrite it with a version that points to your local copy: pod `FirebaseInAppMessaging', :path => '~/Path/To/The/Cloned/Repo/' end
Создайте собственную библиотеку отображения сообщений
Вы не ограничены библиотекой InAppMessaging для создания пользовательского интерфейса для отображения сообщений. Вы также можете написать собственный код с нуля.
Создайте класс, реализующий протокол InAppMessagingDisplay
Firebase In-App Messaging использует класс InAppMessaging для управления взаимодействием между серверами Firebase и вашим приложением. Этот класс, в свою очередь, использует протокол InAppMessagingDisplay для отображения полученных сообщений. Чтобы создать собственную библиотеку отображения, напишите класс, реализующий этот протокол.
Определение протокола и документация по его соблюдению находятся в файле FIRInAppMessagingDisplay.h библиотеки InAppMessaging .
Настройте messageDisplayComponent на использование библиотеки отображения сообщений.
InAppMessaging использует свойство messageDisplayComponent для определения объекта, используемого при отображении сообщений. Установите это свойство на объект вашего класса отображения сообщений, чтобы Firebase In-App Messaging знал, что нужно использовать вашу библиотеку для отображения сообщений:
InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance