获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

自定义您的 Firebase 应用内消息

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

Firebase 应用内消息提供了一组有用的预配置行为和消息类型,具有默认外观,但在某些情况下,您可能希望扩展行为和消息内容。应用内消息允许您向消息添加操作并自定义消息外观。

向您的消息添加操作

通过操作,您可以使用应用内消息将用户引导至网站或应用中的特定屏幕。

Firebase 应用内消息使用链接处理程序来处理操作。 SDK 能够使用许多处理程序,因此如果您的应用已经有一个,Firebase 应用内消息可以使用它而无需任何进一步的设置。如果您还没有处理程序,则可以使用 Firebase 动态链接。要了解更多信息,请阅读在 iOS 上创建动态链接

使用 Firebase 控制台将操作添加到您的消息中

一旦您的应用程序具有链接处理程序,您就可以通过操作来编写广告系列了。打开 Firebase 控制台到Messaging ,然后开始一个新的活动或编辑一个现有的活动。在该活动中,提供CardButton textButton actionImage actionBanner action ,其中该操作是相关的深层链接。

操作的格式取决于您选择的消息布局。 Modals 获得具有可自定义按钮文本内容、文本颜色和背景颜色的操作按钮。另一方面,图像和顶部横幅变成交互式并在点击时调用指定的操作。

修改消息外观

Firebase 应用内消息让您可以自定义消息显示,以更改您的应用呈现消息布局、字体样式、按钮形状和其他详细信息的方式。有两种方法可以修改消息显示:修改默认的 Firebase 应用内消息显示或从头开始创建您自己的消息显示库。

注意:此产品不适用于 macOS、Mac Catalyst、App Clip 或 watchOS 目标。

修改默认显示

自定义消息最直接的方法是构建 Firebase 应用内消息的默认消息显示代码。

克隆firebase-ios-sdk

首先,克隆最新版本firebase-ios-sdk存储库,然后打开InAppMessaging 目录

选择要修改的消息类型

克隆 repo 后,您可以修改任何或所有 Firebase In-App Messaging 消息类型: CardModalBannerImageOnly 。每种类型对应于 Firebase 应用内消息活动创建流程中的消息布局。

因此,每种类型都可以访问一组不同的数据,这些数据由 Firebase 控制台中的广告系列自定义选项确定:

类型标题文本主体文字颜色背景颜色图像数据动作按钮次要动作按钮
卡片
模态
横幅
仅图像

修改消息显示渲染代码

考虑到消息类型限制,您可以随意修改它们。您可以创建一个显示在应用底部的横幅,在模式上移动操作按钮,将应用内消息嵌入用户的提要中,或进行任何其他修改以使消息的外观和感觉适合您的应用.

修改消息显示时主要需要注意两点:

修改首选消息类型目录和.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
完成后,您可以更新 pod、重建应用程序并查看新的自定义消息显示。

创建自己的消息显示库

您不仅限于使用InAppMessaging库来创建用于显示消息的 UI。您也可以从头开始编写自己的代码。

构建一个实现InAppMessagingDisplay协议的类

Firebase In-App Messaging 使用InAppMessaging类来处理 Firebase 服务器和您的应用之间的通信。反过来,该类使用InAppMessagingDisplay协议来显示它接收到的消息。要构建您自己的显示库,请编写一个实现该协议的类。

协议定义和如何符合它的文档位于InAppMessaging库的FIRInAppMessagingDisplay.h文件中。

设置messageDisplayComponent以使用您的消息显示库

InAppMessaging使用其messageDisplayComponent属性来确定在显示消息时使用哪个对象。将该属性设置为自定义消息显示类的对象,以便 Firebase 应用内消息知道使用您的库来呈现消息:

InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance