GCM(Google Cloud Messaging)推送完全解析,gcmmessaging

來源:互聯網
上載者:User

GCM(Google Cloud Messaging)推送完全解析,gcmmessaging

轉載請註明出處:http://www.cnblogs.com/cnwutianhao/p/6664293.html

 

應該是目前為止全網最詳細的GCM推送解析。

GCM官方解釋: https://developers.google.cn/cloud-messaging/?hl=zh-cn

Send data from your server to your users' devices, and receive messages from devices on the same connection. The GCM service handles all aspects of queueing of messages and delivery to client applications running on target devices, and it is completely free.

中文解釋:將資料從伺服器發送到使用者裝置,並從同一串連上的裝置接收訊息。 GCM服務處理訊息排隊的所有方面,並將其傳遞到在目標裝置上啟動並執行用戶端應用程式,它是完全免費的。

 

1.申請GCM推送的網址:https://firebase.google.cn/  Google在2016年I/O大會推出的全新服務Firebase

點擊 "免費開始使用"(需要科學上網,你懂得)

 

2.進入到Firebase的使用介面

 

3.點擊 "建立項目"

 

4.建立好項目之後會出現如下介面

點擊 "將Firebase添加到您的Android應用"

 

5.將包名(package) 和 隨便起的應用別名填到下面的橫線處,點擊"REGISTER APP"

 

6.點擊 "Download google-services.json",把下載下來的.json檔案拷貝到Project形式的app檔案夾裡面。點擊"繼續"

 

7.在工程裡面添加相應的庫

①在工程裡面找到 build.gradle(Project:項目名),在dependencies{}裡面添加

classpath 'com.google.gms:google-services:3.0.0'

②在工程裡面找到 build.gradle(Module:app),在最下面添加

apply plugin: 'com.google.gms.google-services'

點"完成"

 

8.點擊完成之後就會在概覽裡面看到剛剛建立的項目

 

9.點擊左側的 "Notifications"

會出現如下介面:

 

10.點擊 "瞭解詳情",進入網頁 https://firebase.google.cn/docs/notifications/,網頁裡面我們會看到 實現 GCM推送的流程

在網頁的最下面有Google官方提供的Demo連結地址https://github.com/firebase/quickstart-android/tree/master/messaging/

 

11.在build.gradle(Module:app)裡面添加依賴庫(Google提供)

compile 'com.google.firebase:firebase-core:10.2.1'compile 'com.google.firebase:firebase-messaging:10.2.1'compile 'com.firebase:firebase-jobdispatcher:0.5.2'

 

12.修改工程代碼

①添加三個Service(Demo中給提供了,直接拷貝到項目裡)檔案到項目裡

MyFirebaseInstanceIDService

MyFirebaseMessagingService

MyJobService

②修改AndroidManifest

1)添加連網許可權(官方Demo裡竟然沒提到連網許可權,不知道何原因)

<uses-permission android:name="android.permission.INTERNET" />

2)將三個Service添加到設定檔裡

 

13.發送通知

在第9步,點擊"發送您的第一條訊息",在目標那欄選擇 "單個裝置",這時候提示我們需要FCM註冊令牌,有些人就蒙了,這去哪裡找,我們好像從來沒設定或者給過這個值。

運行項目(手機要科學上網,否則擷取不到FCM註冊令牌)

 

14. FCM註冊令牌

在MyFirebaseInstanceIDService裡面Google已經給我們準備好了FCM註冊令牌的擷取方式

通過Log日誌My Phone列印出來的FCM註冊令牌是

cwQxX20HqcE:APA91bGsPdGAPV79EIbwNgY08qbuMw-WBUdtJ0M6ALd-OxwAd0IL5EgnPYJqNfWwdY4Kev0FR5flb2odZlJyrDCnrHWXfbQot3cnBLiL-hqvhrGSb53AxGTpwxN37zSnTt0lAp-ZB-XV

將這個值添加到網頁FCM註冊令牌的輸入框內,點擊"發送訊息"

網頁端顯示 已完成

手機通知欄就會有顯示(Nexus 6P)

 

證明GCM推送成功!

 

關注我的新浪微博,擷取更多Android開發資訊!
關注科技評論家,領略科技、創新、教育以及最大化人類智慧與想象力!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.