Firebase In-App Messaging предоставляет набор предварительно настроенных типов поведения и сообщений со стандартным внешним видом, но в некоторых случаях вам может потребоваться расширить поведение и содержимое сообщений. Сообщения в приложении позволяют добавлять действия к сообщениям и настраивать их внешний вид.
Как добавить действие в сообщение
С помощью действий вы можете направлять пользователей на сайт или определенный экран в приложении.
Как реализовать обработчик ссылок на контент
Firebase In-App Messaging использует обработчики ссылок для выполнения действий. SDK может использовать несколько обработчиков, поэтому если в вашем приложении уже есть один, Firebase In-App Messaging может использовать его без дополнительной настройки. Если у вас нет обработчика, используйте Firebase Dynamic Links. Подробнее о том, как создавать динамические ссылки в iOS…
Добавьте действие в сообщение с помощью консоли Firebase.
После того как вы добавите в приложение обработчик ссылок, вы сможете создать кампанию с действием.
В консоли Firebase выберите DevOps & Engagement (DevOps и взаимодействие) > Messaging (Обмен сообщениями).
Запустите рабочий процесс, чтобы настроить новую кампанию:
Если это ваша первая кампания:
- Нажмите Создать первую кампанию.
- Выберите Firebase In-App Messaging и нажмите Создать.
Если у вас уже есть кампании:
- На вкладке Кампании нажмите Новая кампания.
- Выберите Сообщения в приложении.
Следуйте инструкциям на экране, чтобы настроить кампанию.
Добавьте карточку, текст кнопки и действие кнопки, действие изображения или действие баннера, где действие – это подходящая ссылка на контент.
Формат действия зависит от выбранного макета сообщения. В модальных окнах есть командные кнопки с настраиваемым текстом, цветом текста и фона. Изображения и верхние баннеры становятся интерактивными и при нажатии на них выполняется указанное действие.
Как изменить внешний вид сообщения
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 | backgroundColor | imageData | actionButton | secondaryActionButton |
|---|---|---|---|---|---|---|---|
| Карточка | |||||||
| Модальное окно | |||||||
| Баннер | |||||||
| ImageOnly |
Измените код отображения сообщения
Вы можете изменять их по своему усмотрению, учитывая ограничения для каждого типа. Вы можете создать баннер, который будет показываться в нижней части приложения, переместить командную кнопку в модальном окне, встроить сообщение в ленту пользователя или внести любые другие изменения, чтобы сообщения соответствовали внешнему виду вашего приложения.
При изменении отображения сообщений следует обратить внимание на два основных момента:
- Каталоги типов сообщений. Для каждого типа сообщений есть отдельный каталог с файлами, определяющими логику этого типа:
- Раскадровка. В библиотеке
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 и вашим приложением Firebase In-App Messaging использует класс InAppMessaging. Этот класс, в свою очередь, использует протокол InAppMessagingDisplay для показа полученных сообщений.
Чтобы создать собственную библиотеку отображения, напишите класс, реализующий протокол.
Определение протокола и документация по его соблюдению находятся в файле FIRInAppMessagingDisplay.h библиотеки InAppMessaging.
Настройте messageDisplayComponent для использования библиотеки показа сообщений
InAppMessaging использует свойство messageDisplayComponent, чтобы определить, какой объект использовать при показе сообщений. Задайте для этого свойства объект вашего класса отображения сообщений, чтобы Firebase In-App Messaging использовал вашу библиотеку для отрисовки сообщений:
InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance