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