Firebase In-App Messaging предоставляет полезный набор предварительно настроенных поведений и типов сообщений с внешним видом и поведением по умолчанию, но в некоторых случаях вам может потребоваться расширить поведение и содержание сообщений. In-App Messaging позволяет добавлять действия к сообщениям и настраивать внешний вид и поведение сообщений.
Добавьте действие к вашему сообщению
С помощью действий вы можете использовать сообщения внутри приложения, чтобы направлять пользователей на веб-сайт или на определенный экран в вашем приложении.
Реализовать обработчик глубоких ссылок
Firebase In-App Messaging использует обработчики ссылок для обработки действий. SDK может использовать несколько обработчиков, поэтому если в вашем приложении уже есть один, Firebase In-App Messaging может использовать его без какой-либо дополнительной настройки. Если у вас еще нет обработчика, вы можете использовать Firebase Dynamic Links . Чтобы узнать больше, прочитайте Create Dynamic Links on iOS .
Добавьте действие в свое сообщение с помощью консоли Firebase
Как только в вашем приложении появится обработчик ссылок, вы будете готовы составить кампанию с действием. Откройте консоль Firebase для обмена сообщениями и начните новую кампанию или отредактируйте существующую кампанию. В этой кампании укажите Card , Button text и Button action , Image action или Banner action , где действие — это соответствующая глубокая ссылка.
Формат действия зависит от выбранного вами макета сообщения. Модальные окна получают кнопки действий с настраиваемым текстовым содержимым кнопки, цветом текста и фоновым цветом. Изображения и верхние баннеры, с другой стороны, становятся интерактивными и вызывают указанное действие при нажатии.
Изменить внешний вид сообщения
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 :
Тип | заголовокТекст | bodyText | Цвет текста | Цвет фона | imageData | кнопка действия | вторичная кнопка действия |
---|---|---|---|---|---|---|---|
Карточка | |||||||
Модальный | |||||||
Баннер | |||||||
Только изображение |
Измените код отображения сообщения
Учитывая ограничения по типу сообщений, вы можете изменять их так, как вам хочется. Вы можете создать баннер, который будет отображаться в нижней части вашего приложения, перемещать кнопку действия в модальном окне, встраивать сообщение в приложении в ленту пользователя или вносить любые другие изменения, которые позволят сообщениям выглядеть и восприниматься в соответствии с вашим приложением.
При изменении отображения сообщений следует обратить внимание на два основных момента:
- Каталоги типов сообщений: Каждый тип сообщений имеет отдельный каталог с файлами, определяющими логику этого типа:
- Раскадровка: Библиотека
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