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

本快速入門導覽課程會說明如何設定 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 標記新增至目標的建構設定「Other Linker Flags」部分。
  6. 如要使用 In-App Messaging,您必須在 Firebase 專案中啟用 Google Analytics,並將 Google Analytics 專用 Firebase SDK 新增至應用程式。您可以選擇不收集 IDFA 的程式庫,也可以選擇收集 IDFA 的程式庫。
  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 控制台中,開啟「Messaging」頁面。
  2. 如果這是您的第一個廣告活動,請按一下「建立第一個廣告活動」
    1. 選取「Firebase 應用程式內通訊訊息」,然後按一下「建立」
  3. 否則請在「廣告活動」分頁中,按一下「新增廣告活動」
    1. 選取「應用程式內通訊」
  4. 輸入第一則訊息的標題
  5. 按一下「在裝置上測試」
  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.