使用 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 控制台中的其餘設置步驟操作,然後點擊創建項目(或添加 Firebase,如果您使用的是現有的 Google 項目)。
  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 工具欄中選擇File > Sync Project with Gradle Files

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 工具欄中。點擊Log Identifiers按鈕會將 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 In App Messaging 可以由各種用戶事件觸發。測試消息使用應用打開事件觸發 In App Message。通過以下方式發送測試 FIAM 消息:

  1. 確保應用程序在後台(轉到主屏幕)
  2. 轉到 Firebase 控制台並在左側導航中選擇 In-App Messaging
  3. 選擇創建您的第一個廣告系列
  4. 選擇頂部橫幅廣告系列並輸入消息的標題和正文
  5. 單擊設備上的測試

69f6ea5efff240d1.png

  1. 添加安裝 ID 並單擊測試

24b101edfab47144.png

  1. 重新打開應用
  2. 在應用消息中觀察

7. 恭喜

恭喜,您已成功發送 FCM 和 FIAM 消息。現在您知道如何與您的用戶互動,無論他們是在前台使用您的應用還是在後台使用您的應用。

進一步閱讀

下一步是什麼

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

參考文檔