Catch up on highlights from Firebase at Google I/O 2023. Learn more

Настройте свои сообщения Firebase In-App Messaging

Firebase In-App Messaging предоставляет полезный набор предварительно настроенных вариантов поведения и типов сообщений с внешним видом по умолчанию, но в некоторых случаях вы можете захотеть расширить варианты поведения и содержание сообщений. Обмен сообщениями в приложении позволяет добавлять действия к сообщениям и настраивать внешний вид сообщений.

Добавьте действие к вашему сообщению

С помощью действий вы можете использовать свои сообщения в приложении, чтобы направлять пользователей на веб-сайт или на определенный экран в вашем приложении.

Firebase In-App Messaging использует обработчики ссылок для обработки действий. SDK может использовать несколько обработчиков, поэтому, если в вашем приложении уже есть один, Firebase In-App Messaging может использовать его без дополнительной настройки. Если у вас еще нет обработчика, вы можете использовать динамические ссылки Firebase. Чтобы узнать больше, прочитайте «Создание динамических ссылок на iOS ».

Добавьте действие к своему сообщению с помощью консоли Firebase.

Как только в вашем приложении появится обработчик ссылок, вы готовы создать кампанию с действием. Откройте консоль Firebase для обмена сообщениями и запустите новую кампанию или отредактируйте существующую. В этой кампании предоставьте Карту , Текст кнопки и Действие кнопки , действие Изображение или действие Баннер , где действие является релевантной ссылкой на контент.

Формат действия зависит от того, какой макет сообщения вы выберете. Модальные окна получают кнопки действий с настраиваемым текстовым содержимым кнопки, цветом текста и цветом фона. С другой стороны, изображения и верхние баннеры становятся интерактивными и вызывают указанное действие при касании.

Изменить внешний вид сообщения

Firebase In-App Messaging позволяет настраивать отображение сообщений, чтобы изменить способ отображения вашего приложения макета сообщений, стилей шрифта, форм кнопок и других деталей. Существует два способа изменить отображение сообщений: изменить отображение сообщений в приложении Firebase по умолчанию или создать собственную библиотеку отображения сообщений с нуля.

Примечание. Этот продукт недоступен для целей 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:

Тип заголовокТекст основной текст цвет текста фоновый цвет изображениеданные кнопка действия вторичная кнопка действия
Карта
Модальный
Баннер
ImageOnly

Изменить код рендеринга отображения сообщений

Учитывая ограничения типов сообщений, вы можете изменять их по своему усмотрению. Вы можете создать баннер, который будет отображаться в нижней части вашего приложения, перемещать кнопку действия в модальном окне, вставлять сообщение в приложении в ленту пользователя или выполнять любые другие изменения, которые сделают внешний вид сообщений соответствующим вашему приложению. .

Есть два основных момента, на которые следует обратить внимание при изменении отображения сообщений:

  • Каталоги типов сообщений: у каждого типа сообщений есть отдельный каталог с файлами, определяющими логику этого типа:
  • Раскадровка: в библиотеке InAppMessaging также есть файл .storyboard , который помогает определить пользовательский интерфейс для всех трех типов сообщений:

Измените файлы в каталогах предпочитаемых типов сообщений и соответствующих разделах .storyboard для создания настраиваемых дисплеев сообщений.

Обновите свой подфайл, чтобы использовать измененный код InAppMessaging .

Чтобы заставить Firebase In-App Messaging использовать ваши измененные дисплеи сообщений вместо экранов по умолчанию, обновите свой подфайл, чтобы использовать вашу настраиваемую библиотеку 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