Firebase In-App Messaging 使用入门

本快速入门将向您介绍如何设置 Firebase In-App Messaging 并发送您的第一条消息。


准备工作

在开始之前,请务必将 Firebase 添加到您的 Apple 项目中

Firebase In-App Messaging SDK 添加到您的项目中

使用 Swift Package Manager 安装和管理 Firebase 依赖项。

  1. 在 Xcode 中打开您的应用项目,依次点击 File(文件)> Add Packages(添加软件包)
  2. 出现提示时,添加 Firebase Apple 平台 SDK 代码库:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. 选择 In-App Messaging 库。
  5. -ObjC 标志添加到目标 build 设置的“其他链接器标志”部分。
  6. 如需使用 In-App Messaging,您必须在 Firebase 项目中启用 Google Analytics,并将 Firebase SDK for Google Analytics 添加到您的应用中。您可以选择不收集 IDFA 的库,也可以选择收集 IDFA 的库。
  7. 完成之后,Xcode 将会自动开始在后台解析和下载您的依赖项。

现在,在您的应用中初始化 SDK:

  1. 如果您尚未在 App 结构体或 UIApplicationDelegate 中导入 Firebase 模块,请先完成该过程:
    Swift
    import Firebase
    Objective-C
    @import Firebase;
  2. 另外,如果您尚未配置 FirebaseApp 共享实例(通常在 App 的初始化程序或应用委托 (app delegate) 的 application(_:didFinishLaunchingWithOptions:) 方法中配置),请先完成该过程:
    Swift
    FirebaseApp.configure()
    Objective-C
    [FIRApp configure];
  3. 编译并运行您的应用。

发送测试消息

获取应用的安装 ID

为节省能耗,Firebase In-App Messaging 每天仅从服务器检索一次消息。这可能会使测试难以进行,因此 Firebase 控制台允许您指定一部测试设备来按需显示消息。

该测试设备由 Firebase 安装服务提供的 Firebase 安装 ID 确定。如需查找测试应用的安装 ID,请使用 运行时命令参数 -FIRDebugEnabled

  1. 打开 Xcode 项目后,从顶部菜单栏中依次选择 Product(产品)> Scheme(方案)> Edit scheme…(修改方案…)
  2. 打开弹出对话框的 Arguments(参数)标签页。
  3. Arguments Passed On Launch(启动参数)下点击 + Add items(+ 添加参数)。
  4. 在新创建的字段中输入“-FIRDebugEnabled”。
  5. 点击 Close(关闭),然后运行您的应用。

您的应用开始运行后,在 Xcode 控制台的日志中查找下面一行内容:

[Firebase/InAppMessaging][I-IAM180017] Starting InAppMessaging runtime with Firebase Installation ID YOUR_INSTALLATION_ID

向您的测试设备发送消息

在测试设备上启动应用并获得 Firebase 安装 ID (FID) 后,您可以发送测试消息来试用 Firebase In-App Messaging 设置:

  1. Firebase 控制台中,打开“Messaging”(消息传递)页面
  2. 如果这是您的第一个宣传活动,请点击制作首个宣传活动
    1. 选择 Firebase 应用内消息,然后点击创建
  3. 否则,请在宣传活动标签页上点击新建宣传活动
    1. 选择 In-App Messaging
  4. 输入第一条消息的标题
  5. 点击在设备上测试
  6. Firebase 添加安装 ID 字段。
  7. 点击测试发送消息。

在您点击测试后,Firebase In-App Messaging 会立即发送测试消息。如需查看该消息,您需要在测试设备上关闭应用,然后重新打开应用。

如需确认您的设备是否为测试设备,请查找以下日志消息:

[Firebase/InAppMessaging][I-IAM180017] Seeing test message in fetch response. Turn the current instance into a testing instance.