Настройте сообщения обмена сообщениями Firebase в приложении


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 или создать собственную библиотеку отображения сообщений с нуля.

Примечание: этот продукт недоступен на устройствах с macOS, Mac Catalyst, App Clip или watchOS.

Изменить дисплеи по умолчанию

Самый простой способ настройки сообщений — это создание на основе кода отображения сообщений по умолчанию 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