使用 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 應用程序中向用戶發送消息。

參考文檔