Android:Google三方庫之Firebase集成詳細步驟(三)

Cloud Messaging

??1、清單文件配置

? ? ? ? a、(可選)一項擴展?FirebaseMessagingService?的服務。除了接收通知外,如果您還希望在后臺應用中進行消息處理,則必須添加此服務。例如,您需要在前臺應用中接收通知、接收數據載荷以及發送上行消息等,就必須擴展此服務

<serviceandroid:name=".java.MyFirebaseMessagingService"android:exported="false"><intent-filter><action android:name="com.google.firebase.MESSAGING_EVENT" /></intent-filter>
</service>

? ? ? ? b、(可選)應用組件中用于設置默認通知圖標和顏色的元數據元素。如果傳入的消息未明確設置圖標和顏色,Android 就會使用這些值。

<meta-dataandroid:name="com.google.firebase.messaging.default_notification_icon"android:resource="@drawable/ic_stat_ic_notification" />
<meta-dataandroid:name="com.google.firebase.messaging.default_notification_color"android:resource="@color/colorAccent" />

? ? ? ? ?c、(可選)從 Android 8.0(API 級別 26)和更高版本開始,我們支持并推薦使用通知渠道。FCM 提供具有基本設置的默認通知渠道。如果您希望創建和使用自己的默認渠道,請將?default_notification_channel_id?設置為您的通知渠道對象的 ID(如下所示);只要傳入的消息未明確設置通知渠道,FCM 就會使用此值。如需了解詳情,請參閱管理通知渠道。

<meta-dataandroid:name="com.google.firebase.messaging.default_notification_channel_id"android:value="@string/default_notification_channel_id" />

以上三點都不配置的情況下:也能收到消息。如果需要在收到通知后,點擊消息做特殊處理,就需要實現第一點。

2、獲取設備注冊令牌

初次啟動您的應用時,FCM SDK 會為客戶端應用實例生成一個注冊令牌 (registration token)。如果您希望指定單一目標設備或者創建設備組,需要擴展?FirebaseMessagingService?并重寫?onNewToken?來獲取此令牌。

因為令牌可能會在初始啟動后輪替,所以我們強烈建議您檢索最近更新的注冊令牌。

注冊令牌可能會在發生下列情況時更改:

  • 應用在新設備上恢復
  • 用戶卸載/重新安裝應用
  • 用戶清除應用數據

如果需要檢索當前令牌,請調用?FirebaseMessaging.getInstance().getToken()。

FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task ->if (!task.isSuccessful) {Log.w(TAG, "Fetching FCM registration token failed", task.exception)return@OnCompleteListener}// Get new FCM registration tokenval token = task.result//把當前獲取的注冊token傳給自己服務器
})

監控令牌的生成

每當生成新令牌時,都會觸發?onNewToken?回調函數。

/*** 需要繼承:FirebaseMessagingService,重新onNewToken方法*/
override fun onNewToken(token: String) {Log.d(TAG, "Refreshed token: $token")//把當前token傳給自己服務器sendRegistrationToServer(token)
}

上面的令牌需要調用后端接口傳給自己服務器,如果只是需要記錄安裝時一次,可以只需要使用檢索一次就好,不需要實時監聽令牌的變化。

在所有的依賴Google服務的功能,都應該調用?GoogleApiAvailability.makeGooglePlayServicesAvailable()??????????????檢查,如果沒有就需要引導用戶下載

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/166832.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/166832.shtml
英文地址,請注明出處:http://en.pswp.cn/news/166832.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

服務臺需要跟蹤的3個重要指標MTBF+MTTF+MTTR

衡量標準是IT服務管理的核心&#xff0c;可提供有關運營的見解&#xff0c;并幫助確定需要持續改進的領域。通常的服務臺指標有助于展示內部運營效率。例如&#xff0c;衡量在規定時間內解決問題的工單數量的 SLA 是展示服務臺效率的關鍵因素。另一方面&#xff0c;故障指標可幫…

阿里云服務器(vgn7i-vws) anaconda(py39)+pytorch1.12.0(cu113)

安裝anaconda 2022 10 py3.9 wget https://repo.anaconda.com/archive/Anaconda3-2022.10-Linux-x86_64.sh sha256sum Anaconda3-2022.10-Linux-x86_64.sh #校驗數據完整性 chmod ux Anaconda3-2022.10-Linux-x86_64.sh #添加執行權限 bash Anaconda3-2022.10-Linux-x86_…

ate測試原理及ate測試系統(軟件)知識科普 -納米軟件

ATE(Automatic Test Equipment)測試也叫自動化測試&#xff0c;通過計算機控制測試儀器對被測對象進行測試。以計算機編程代替人工測試&#xff0c;基于測試程序控制儀器并對待測品進行輸入和輸出信號檢測分析&#xff0c;從而判斷待測品的性能是否符合要求。 ATE測試需要根據測…

linux進程調度(一)-進程概述

一、什么是進程 進程是指計算機已運行的程序。程序本身只是指令、數據及其組織形式的描述。進程就是一個程序的執行實例&#xff0c;也就是正在執行的程序。在linux操作系統的中&#xff0c;進程就是一個擔當分配系統資源CPU時間、內存的實體。進程控制的主要功能是對系統中的所…

Kafka報錯under-replicated partitions

1 under-replicated partitions異常原因 Kafka報錯under replicated partitions意味著某些分區的副本數量未達到預期的復制因子。 主要有兩種原因&#xff0c; Broker故障 如果某個Kafka Broker發生故障&#xff0c;導致其中一些分區的副本不再可用&#xff0c;那么這些分區就…

2023年微軟開源八個人工智能項目

自2001年軟件巨頭微軟前首席執行官史蒂夫鮑爾默對開源&#xff08;尤其是Linux&#xff09;發表尖刻言論以來&#xff0c;微軟正在開源方面取得了長足的進步。繼ChatGPT于去年年底發布了后&#xff0c;微軟的整個2023年&#xff0c;大多數技術都是面向開發人員和研究人員公開發…

Towhee介紹

官方網站&#xff1a;Towhee | Home - Towhee Towhee 是一個尖端框架&#xff0c;旨在通過使用基于大型語言模型 &#xff08;LLM&#xff09; 的管道編排來簡化非結構化數據的處理。它具有獨特的優勢&#xff0c;可以從各種非結構化數據類型&#xff08;包括冗長的文本、圖像…

淺談進程與線程

文章目錄 一. 進程&#x1f34e;什么是程序&#xff1f;什么是進程&#xff1f;&#x1f34b;程序的并發性和并行性&#x1f349;進程誕生的原因&#x1f351;PCB 二. 線程&#x1f365;什么是線程&#xff1f;&#x1f366;為什么引入線程&#xff1f; 三. 進程與線程的區別與…

HarmonyOS 設備管理開發:USB 服務開發指導

基本概念 USB 服務是應用訪問底層的一種設備抽象概念。開發者根據提供的 USB API&#xff0c;可以獲取設備列表、控制設備訪問權限、以及與連接的設備進行數據傳輸、控制命令傳輸等。 運作機制 USB 服務系統包含 USB API、USB Service、USB HAL。 圖 1 USB 服務運作機制 ●…

【SpringBoot3+Vue3】五【完】【實戰篇】-前端(配合后端)

目錄 一、環境準備 1、創建Vue工程 2、安裝依賴 2.1 安裝項目所需要的vue依賴 2.2 安裝element-plus依賴 2.2.1 安裝 2.2.2 項目導入element-plus 2.3 安裝axios依賴 2.4 安裝sass依賴 3、目錄調整 3.1 刪除部分默認目錄下文件 3.1.1 src/components下自動生成的…

JeecgBoot3.5漏洞升級—快速文檔

近幾年來&#xff0c;黑客攻擊行為呈現出日益復雜和隱蔽的趨勢&#xff0c;對個人和組織的安全造成了嚴重威脅。黑客們不斷尋找新的漏洞和安全漏洞&#xff0c;利用各種手段進行網絡攻擊&#xff0c;包括惡意軟件、網絡釣魚、勒索軟件等。因此&#xff0c;我們每個人都需要關注…

Windows系統下載并安裝 Windows PowerShell

PowerShell下載地址 一 windows7 版本 **若要確定您正在使用的 Microsoft PowerShelll 版本,請在 Windows 7 或 Windows Server 2008R2 或 Windows Server 2012 計算機上執行以下操作: 單擊“開始”,單擊“所有程序”,單擊“附件”,單擊“Windows PowerShell”,然后單擊…

渲染農場渲染一分鐘動畫需要多少錢?需要渲染多少時間?

現在很公司都開始使用渲染農場渲染動畫&#xff0c;但是還是有很多人不知道渲染農場渲染動畫需要多少錢&#xff0c;需要渲染多少時間。在這篇文章中我們將為你一一解答&#xff0c;為你提供一個清晰的參考。 渲染農場的收費通常是按照渲染的使用時間收費&#xff0c;渲染十分…

華大基因助力烏茲別克斯坦精準醫學發展,共筑健康絲綢之路

今年上半年&#xff0c;中國與中亞五國元首齊聚陜西西安&#xff0c;舉辦中國&#xff0d;中亞峰會。過去的20年里&#xff0c;中國已經成為中亞國家的主要投資來源國&#xff0c;總投資額接近400億美元。烏茲別克斯坦是中國&#xff0d;中亞合作機制的重要參與者&#xff0c;烏…

elasticsearch命令大全

1、查詢全部索引 GET /_cat/indices?v2、要按文檔數對所有索引進行降序排序 GET /_cat/indices?v&hindex,docs.count&sdocs.count:descv&#xff1a;參數用于顯示列標題 h&#xff1a;參數用于指定要顯示的列 s&#xff1a;參數用于指定按哪一列進行排序 desc&…

CAD隨機多面體_圓柱試件3D插件

插件介紹 CAD隨機多面體_圓柱試件3D插件可用于在AutoCAD軟件內生成隨機三維多面體及外側圓柱體試件。插件可確保多面體之間不發生干涉&#xff0c;且多面體與外側圓柱體試件之間保持適配關系&#xff0c;確保生成的模型導入有限元軟件后幾何合理有效。本插件主要可應用于三維混…

講概念談愿景AI Agent名不副實?看實在智能RPA Agent智能體如何落地!

OpenAI在首屆開發者大會上推出了GPTs和Assitant API&#xff0c;不僅改寫了AI Agent的構建范式&#xff0c;也把AI智能體的應用推向一個新高潮。GPTs和GPT商店&#xff0c;使得用戶無需編碼通過自然語言就能創建并擁有多個專屬私人助理&#xff0c;且可以如在蘋果應用商店一樣在…

開發教育APP的意義

開發教育APP的意義有以下幾點&#xff1a; 促進教育資源發揮效果&#xff1a;通過教育APP軟件開發&#xff0c;可以讓現代教育資源有效合理的進行利用&#xff0c;并且能夠更進一步的提升發揮功能&#xff0c;促進教育資源全面發揮其具體作用和效果&#xff0c;從而提升教育行…

3.3.1詳解linux內核鏈表list_head及其接口應用

文章目錄 1 list定義2 list接口2.1 list初始化方法1:定義并初始化鏈表方法2:先定義再初始化鏈表2.2 list_add2.3 list_del2.4 list_replace2.5 list_move2.6 list_splice3 list遍歷3.1 list_entry3.2 list_first_entry3.3 list_last_entry3.4 list_first_entry_or_null3.5 li…

Y-MODEM協議定制上位機

最近在使用N32G031和STM32F10X系列單片機進行IAP&#xff0c;使用的是Ymodem協議。單片機上的軟件已經完成了&#xff0c;一般是使用secureCRT這樣的工具作為上位機來進行測試&#xff0c;后來想做一個定制化的簡單的上位機。在網上找了下資料&#xff0c;以下這篇文章寫的使用…