Firebase 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 :
Тип | заголовокТекст | bodyText | текстЦвет | фонЦвет | данные изображения | кнопка действия | вторичнаяActionButton |
---|---|---|---|---|---|---|---|
Карта | |||||||
Модальный | |||||||
Баннер | |||||||
Только изображение |
Измените код рендеринга отображения сообщений.
Учитывая ограничения типов сообщений, вы можете изменять их по своему усмотрению. Вы можете создать баннер, который будет отображаться в нижней части вашего приложения, перемещаться по кнопке действия в модальном окне, встроить сообщение внутри приложения в ленту пользователя или внести любые другие изменения, которые сделают внешний вид сообщений подходящим для вашего приложения. .
При изменении отображения сообщений следует обратить внимание на две основные вещи:
- Каталоги типов сообщений. Каждый тип сообщений имеет отдельный каталог с файлами, определяющими логику этого типа:
- Раскадровка. В библиотеке
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