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

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


事前準備

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

Firebase In-App Messaging SDK 新增至專案

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

  1. 在 Xcode 中保持開啟應用程式專案,然後依序點選「File」(檔案) 和「Add Packages」(新增 Package)
  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 的程式庫。請參閱常見問題,瞭解 Firebase SDK 中 Google Analytics 的最新模組架構。
  7. 完成後,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. 按一下「關閉」,然後執行應用程式。

應用程式開始執行後,請在 Xcode 控制台的記錄檔中尋找下列程式碼:

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

傳送訊息到測試裝置

在測試裝置上啟動應用程式並取得Firebase安裝 ID (FID) 後,即可傳送測試訊息,試用Firebase In-App Messaging設定:

  1. Firebase 控制台中,開啟「訊息」頁面
  2. 如果這是您的第一個廣告活動,請按一下「建立第一個廣告活動」
    1. 選取「Firebase 應用程式內通訊訊息」,然後按一下「建立」
  3. 否則,請在「廣告活動」分頁中,按一下「新增廣告活動」
    1. 選取「應用程式內通訊」
  4. 輸入第一則訊息的標題
  5. 按一下「在裝置上測試」
  6. 在「新增安裝 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.