Catch up on everthing we announced at this year's Firebase Summit. Learn more

Firebase In-App Messaging 使用入门

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

准备工作

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

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

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

  1. 在 Xcode 中打开您的应用项目,依次转到 File(文件)> Swift Packages(Swift 软件包)> Add Package Dependency(添加软件包依赖项)
  2. 出现提示时,添加 Firebase Apple 平台 SDK 代码库:
  3.   https://github.com/firebase/firebase-ios-sdk
      
  4. 选择 In-App Messaging 库。
  5. 要使用 In-App Messaging,您必须在 Firebase 项目中启用 Google Analytics(分析),并将适用于 Google Analytics(分析)的 Firebase SDK 添加到您的应用中。您可以选择不收集 IDFA 的库,也可以选择收集 IDFA 的库。
  6. 完成之后,Xcode 将会自动开始在后台解析和下载您的依赖项。

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

  1. UIApplicationDelegate 中导入 Firebase 模块(如果您还没有导入的话):
    Swift
    import Firebase
    Objective-C
    @import Firebase;
  2. 另外,如果您尚未配置 FirebaseApp 共享实例,请执行此操作(通常在应用的 application:didFinishLaunchingWithOptions: 方法中配置):
    Swift
    // Use Firebase library to configure APIs
    FirebaseApp.configure()
    Objective-C
    // Use Firebase library to configure APIs
    [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.