Firebase In-App Messaging 提供了一组有用的预配置行为和具有默认外观的消息类型,但在某些情况下,您可能希望扩展行为和消息内容。应用程序内消息允许您向消息添加操作并自定义消息的外观。
为您的消息添加一个动作
通过操作,您可以使用应用内消息将用户引导至网站或应用中的特定屏幕。
实施深层链接处理程序
Firebase 应用内消息使用链接处理程序来处理操作。 SDK 能够使用多个处理程序,因此如果您的应用已经有一个,Firebase 应用内消息可以使用它而无需任何进一步设置。如果您还没有处理程序,则可以使用 Firebase 动态链接。要了解更多信息,请阅读在 iOS 上创建动态链接。
使用 Firebase 控制台将操作添加到您的消息中
一旦您的应用程序有了链接处理程序,您就可以准备好使用操作来编写广告系列了。打开 Firebase 控制台到Messaging ,并开始一个新的活动或编辑一个现有的活动。在该活动中,提供Card 、 Button text和Button action 、 Image action或Banner action ,其中 action 是相关的深层链接。
操作的格式取决于您选择的消息布局。模态框获取具有可自定义按钮文本内容、文本颜色和背景颜色的操作按钮。另一方面,图像和顶部横幅会变得交互并在点击时调用指定的操作。
修改消息外观
Firebase In-App Messaging 允许您自定义消息显示,以更改您的应用呈现消息布局、字体样式、按钮形状和其他细节的方式。有两种方法可以修改消息显示:修改默认的 Firebase 应用内消息显示或从头开始创建您自己的消息显示库。
修改默认显示
自定义消息的最直接方法是构建 Firebase In-App Messaging 的默认消息显示代码。
克隆firebase-ios-sdk
库
首先,克隆最新版本的firebase-ios-sdk
存储库,然后打开InAppMessaging 目录。
选择要修改的消息类型
克隆存储库后,您可以修改任何或所有 Firebase 应用内消息消息类型: Card
、 Modal
、 Banner
和ImageOnly
。每种类型对应于 Firebase 应用内消息活动创建流程中的消息布局。
因此,每种类型都可以访问一组不同的数据,这些数据由 Firebase 控制台中的活动自定义选项决定:
类型 | 标题文本 | 文章主体 | 文本颜色 | 背景颜色 | 图像数据 | 动作按钮 | 辅助操作按钮 |
---|---|---|---|---|---|---|---|
卡片 | |||||||
模态 | |||||||
横幅 | |||||||
仅图像 |
修改消息展示渲染代码
考虑到消息类型限制,您可以随意修改它们。您可以创建一个显示在应用程序底部的横幅,在模态框上的操作按钮周围移动,将应用程序内消息嵌入用户的提要中,或者进行任何其他修改,使消息的外观和感觉适合您的应用程序.
修改消息显示主要需要注意两点:
- 消息类型目录:每种消息类型都有一个单独的目录,其中包含确定该类型逻辑的文件:
- 故事板:
InAppMessaging
库还有一个.storyboard
文件,可帮助定义所有三种消息类型的 UI:
修改首选消息类型目录中的文件和.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
库来创建用于显示消息的 UI。您也可以从头开始编写自己的代码。
构建一个实现InAppMessagingDisplay
协议的类
Firebase 应用内消息使用InAppMessaging
类来处理 Firebase 服务器和您的应用之间的通信。该类又使用InAppMessagingDisplay
协议来显示它收到的消息。要构建您自己的显示库,请编写一个实现该协议的类。
协议定义和有关如何遵守它的文档位于InAppMessaging
库的FIRInAppMessagingDisplay.h
文件中。
设置messageDisplayComponent
以使用您的消息显示库
InAppMessaging
使用其messageDisplayComponent
属性来确定在显示消息时使用哪个对象。将该属性设置为自定义消息显示类的一个对象,这样 Firebase 应用内消息就知道使用您的库来呈现消息:
InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance