使用FCM和FIAM向用戶發送訊息

1. 開始之前

在此 Codelab 中,您將了解如何添加與用戶互動的功能,無論他們是在前台使用您的應用程式還是在背景使用您的應用程式。

206c7ecece550bde.png

先決條件

沒有任何

你將學到什麼

  • 將 Firebase 新增到您的 Android 應用
  • 新增 FCM 和 FIAM 依賴項
  • 向您的應用程式發送測試 FCM 訊息
  • 向您的應用程式發送測試 FIAM 訊息

你需要什麼

  • 安卓工作室4.1
  • Android 裝置或模擬器

2. 開始使用

取得範例程式碼

從命令列克隆 GitHub 儲存庫:

導入入門應用程式

從 Android Studio 中,選擇codelab-fcm-and-fiam目錄 ( android_studio_folder.png )。它將是在上一步中克隆的(檔案>開啟> .../codelab-fcm-and-fiam)。

現在您應該已在 Android Studio 中開啟 FcmAndFiam 專案。如果您看到有關 google-services.json 檔案遺失的警告,請不要擔心。它將在下一步中添加。

3.創建Firebase控制台項目

將 Firebase 新增到專案中

  1. 轉到Firebase 控制台
  2. 選擇新增項目
  3. 選擇或輸入項目名稱。
  4. 請按照 Firebase 控制台中的其餘設定步驟進行操作,然後按一下「建立專案」 (如果您使用的是現有 Google 項目,請按一下「新增 Firebase」)。
  5. 在新專案的概述畫面中,按一下 Android 圖示以啟動設定工作流程。
  6. 輸入Codelab的套件名稱: com.google.firebase.codelab.fcmandfiam

將 google-services.json 檔案新增至您的應用程式

新增套件名稱後,按一下“註冊應用程式”,然後按一下“下載 google-services.json”以取得 Firebase Android 設定文件,然後將 google-services.json 檔案複製到專案中的app程式目錄中。下載檔案後,您可以按一下「跳過」以執行控制台中顯示的後續步驟(這些步驟已在 build-android-start 專案中為您完成)。

將 google-services 插件新增到您的應用程式

google-services 外掛程式使用 google-services.json 檔案將您的應用程式配置為使用 Firebase。 google-services 外掛依賴項和外掛程式本身應該已分別新增到專案和應用程式層級建置檔案中。確認以下條目:

建構.gradle

buildscript {
  ...
  dependencies {
    ...
    classpath 'com.google.gms:google-services:4.3.8'
  }
}

應用程式/build.gradle

plugins {
  ...
  id: 'com.google.gms.google-services'
}

新增依賴項

FCM 和 FIAM 需要以下相依性。這些依賴項應該已經添加到應用程式級別建置檔案中。確認已新增以下相依性:

應用程式/build.gradle

dependencies {
  ...
  implementation platform('com.google.firebase:firebase-bom:28.4.2')
  implementation 'com.google.firebase:firebase-analytics'
  implementation 'com.google.firebase:firebase-messaging'
  implementation 'com.google.firebase:firebase-inappmessaging-display'
}

將您的專案與 gradle 檔案同步

為了確保所有依賴項都可供您的應用程式使用,此時您應該將專案與 gradle 檔案同步。從 Android Studio 工具列選擇「檔案」>「將專案與 Gradle 檔案同步」

4. 日誌標識符

Firebase Cloud Messaging 和 Firebase In App Messaging 都使用識別碼向應用程式發送訊息。 FCM 使用註冊令牌,FIAM 使用安裝 ID。

  1. MainActivity.kt中,將 TODO 替換為以下程式碼,以記錄傳送訊息所需的識別碼:
FirebaseMessaging.getInstance().token.addOnCompleteListener { regTokenTask ->
   if (regTokenTask.isSuccessful) {
       Log.d(TAG, "FCM registration token: ${regTokenTask.result}")
   } else {
       Log.e(TAG, "Unable to retrieve registration token",
           regTokenTask.exception)
   }
}
FirebaseInstallations.getInstance().id.addOnCompleteListener { installationIdTask ->
   if (installationIdTask.isSuccessful) {
       Log.d(TAG, "Firebase Installations ID: ${installationIdTask.result}")
   } else {
       Log.e(TAG, "Unable to retrieve installations ID",
           installationIdTask.exception)
   }
}
  1. 連接您的 Android 設備,然後按一下執行( 執行.png )在 Android Studio 工具列中。點選「日誌標識符」按鈕會將 FCM 註冊令牌和 Firebase 安裝 ID 記錄到 logcat。輸出應如下所示:
D/FcmAndFiam: Firebase Installations ID: emMc5...AsJfb
  FCM registration token: emMc5LART6GV7...r0Q

5. 發送測試FCM訊息

FCM 訊息可以從 Firebase 控制台和 FCM REST API 發送。在此 Codelab 中,我們將編寫一條 FCM 通知訊息並將其發送到我們的裝置。通知訊息是顯示在系統通知區域中的消息。透過以下方式發送測試 FCM 訊息:

  1. 確保應用程式在背景(轉到主螢幕)
  2. 前往 Firebase 控制台並在左側導覽中選擇Cloud Messaging
  3. 選擇發送您的第一則訊息
  4. 新增訊息的標題和內文,然後按一下傳送測試訊息

207ced65f5245ada.png

  1. 新增 FCM 註冊令牌,然後按一下測試

f3556c6a8a6453fe.png

  1. 觀察設備上的顯示通知
  2. 點擊通知將打開應用程式

6. 發送測試FIAM訊息

Firebase 應用程式內訊息傳遞可以由各種使用者事件觸發。測試訊息使用應用程式開啟事件來觸發應用程式內訊息。透過以下方式發送測試 FIAM 訊息:

  1. 確保應用程式在背景(轉到主螢幕)
  2. 前往 Firebase 控制台並在左側導覽中選擇應用程式內訊息傳遞
  3. 選擇創建您的第一個行銷活動
  4. 選擇頂部橫幅活動並輸入訊息的標題和正文
  5. 點擊設備上的測試

69f6ea5efff240d1.png

  1. 新增安裝 ID 並點擊測試

24b101edfab47144.png

  1. 重新打開應用程式
  2. 在應用程式訊息中觀察

7. 恭喜你

恭喜,您已成功傳送 FCM 和 FIAM 訊息。現在您知道如何與用戶互動,無論他們是在前台使用您的應用程式還是在背景使用您的應用程式。

進一步閱讀

下一步是什麼

  • 在您自己的 Android 應用程式中向用戶發送訊息。

參考文檔