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

本快速入門導覽課程說明如何設定 Firebase 應用程式內通訊及傳送第一則訊息。

事前準備

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

將 Firebase 應用程式內通訊 SDK 新增至專案

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

  1. 在 Xcode 中保持開啟應用程式專案,然後依序點選「File」>「Add Packages」
  2. 在系統提示時,新增 Firebase Apple 平台 SDK 存放區:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. 選擇應用程式內通訊程式庫。
  5. 在目標建構設定的「Other Linker Flags」部分中新增 -ObjC 標記。
  6. 如要使用應用程式內通訊功能,您必須在 Firebase 專案中啟用 Google Analytics (分析),並將 Google Analytics (分析) 專用 Firebase SDK 加進應用程式。您可以選擇未收集廣告識別碼的程式庫,或使用收集廣告識別碼的程式庫。
  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 應用程式內通訊每天只會從伺服器擷取訊息一次。這可能會導致測試困難,因此 Firebase 控制台可讓您指定隨選顯示訊息的測試裝置。

測試裝置取決於 Firebase 安裝服務提供的 Firebase 安裝 ID。如要找出測試應用程式的安裝 ID,請搭配執行階段指令引數 -FIRDebugEnabled 執行應用程式:

  1. 開啟 Xcode 專案後,請從頂端選單列中依序選取「Product」>「Schee」>「Edit cheme...」
  2. 開啟彈出對話方塊的「Arguments」分頁標籤。
  3. 在「通過啟動的引數」下方,按一下「+ 新增項目」
  4. 在新建立的欄位中輸入「-FIRDebugEnabled」。
  5. 按一下「關閉」,然後執行應用程式。

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

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

傳送訊息至測試裝置

在測試裝置上啟動應用程式,而且您也擁有 Firebase 安裝 ID (FID) 後,您可以傳送測試訊息,試用 Firebase 應用程式內通訊設定:

  1. 在 Firebase 控制台中開啟「Messaging」頁面。
  2. 如果這是您的第一個廣告活動,請按一下「製作您的第一個廣告活動」。
    1. 選取「Firebase 應用程式內訊息」,然後按一下「建立」
  3. 否則,請在「廣告活動」分頁中按一下「新增廣告活動」
    1. 選取「應用程式內通訊」
  4. 輸入第一則訊息的標題
  5. 按一下「Test on Device」
  6. 在「Add an install ID」欄位中,輸入應用程式的 Firebase 安裝 ID。
  7. 按一下「測試」傳送訊息。

Firebase 應用程式內通訊會在您按一下 [測試] 後立即傳送測試訊息。如要查看訊息,您需要在測試裝置上關閉應用程式,然後再重新開啟。

如要確認裝置是否為測試裝置,請尋找以下記錄訊息:

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