開始使用 Firebase 應用程式內通訊

本快速入門導覽課程說明如何設定 Firebase In-App Messaging 及傳送第一則訊息。


事前準備

開始設定前,請務必將 Firebase 新增至 Apple 專案

在專案中新增 Firebase In-App Messaging SDK

使用 Swift Package Manager 安裝及管理 Firebase 依附元件。

  1. 在 Xcode 中保持開啟應用程式專案,然後前往「檔案」檔案 >新增套件
  2. 在系統提示時,新增 Firebase Apple 平台 SDK 存放區:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. 選擇 In-App Messaging 程式庫。
  5. -ObjC 標記新增至目標的建構設定「Other Linker Flags」部分。
  6. 如要使用 In-App Messaging,您必須在 Firebase 專案中啟用 Google Analytics,並將 Google Analytics 專用 Firebase SDK 新增至應用程式。您可以選擇不收集 IDFA 的程式庫,也可以選擇收集 IDFA 的程式庫。
  7. 完成後,Xcode 就會自動開始在背景中解析並下載依附元件。

現在,請在應用程式中初始化 SDK:

  1. 將 Firebase 模組匯入 App 結構,或是 UIApplicationDelegate (如果尚未下載):
    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. 按一下「關閉」,然後執行應用程式。

應用程式開始執行後,請在 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. 選取「應用程式內通訊」
  4. 輸入第一則訊息的標題
  5. 按一下「Test on Device」
  6. 在「Add an installation ID」欄位中輸入應用程式的 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.