Check out what’s new from Firebase at Google I/O 2022. Learn more

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
      
  4. 选择 In-App Messaging 库。
  5. 如需使用 In-App Messaging,您必须在 Firebase 项目中启用 Google Analytics(分析),并将 Firebase SDK for Google Analytics 添加到您的应用中。您可以选择不包含 IDFA 集合或包含 IDFA 集合的库。
  6. 完成之后,Xcode 将会自动开始在后台解析和下载您的依赖项。

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

  1. 如果您尚未在 App 结构体或 UIApplicationDelegate 中导入 Firebase 模块,请先完成该过程:
    Swift
    import Firebase
    Objective-C
    @import Firebase;
  2. 另外,如果您尚未配置 FirebaseApp 共享实例(通常在 App 的初始化程序或应用委托的 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 控制台中,打开 In-App Messaging
  2. 点击新建宣传活动
  3. 输入第一条消息的标题
  4. 点击在您的设备上进行测试
  5. 添加安装 ID 字段中输入应用的 Firebase 安装 ID。
  6. 点击测试以发送消息。

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

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

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