gcm推送

本文介绍了如何在Android和iOS设备上实现GCM推送通知,包括GCM的前期准备、在Google Developers Console创建项目获取信息、客户端APP的创建与配置,以及处理卸载后的问题。GCM需要设备运行在Android 2.2或更高版本,并且安装了Google Play服务。在客户端,GCM通过系统广播唤醒应用并显示通知。
摘要由CSDN通过智能技术生成

一.gcm前期准备

 

 

Apple有apns推送,Google有gcm推送,iOS接收通知调用系统通知栏提示,Android接收通知启动应用调用通知栏提示。

相对于apns,gcm则多了一些限制,需要一些必备条件达到才可以使用。

1.在国内,首先就是Google被墙,无法连接到Google服务器,需要你走VPN或者其它方式可以连接到Google服务器。

 

2.在你的开发环境下,需要通过Android SDK Manager—>Extras下安装Google Play services,成功之后在你的SDK文件/sdk/extras/google/google_play_services/libproject下会看到google-play-services_lib类库,可以从里面直接复制jar包到你的项目libs下

 

3.Android客户端,要求安装了Google核心服务Google Play服务,Google Play 商店才能使用gcm

 

以上是Google官方文档描述:

 

大意就是gcm要求设备运行在Android系统2.2或更高版本并且安装了Google play商店应用,或者虚拟机运行在Android系统2.2版本的并且支持Google API,但是并不限制你的应用必须部署在Google play 商店。

然而,如果你想要使用gcm 新的API就需要设备运行在Android系统2.3或更高版本,或者使用虚拟机运行在Android系统2.3并且支持Google API

在一个现有连接Google服务的设备上,对于前置3.0的设备,就要求在Android设备上设置Google账号,4.0.4或者更高版本则不需要设置Google账号

 

注:gcm只是简单的推送一个通知到客户端,其消息内容应小于4Kb,Google服务器存储时间为4个星期。在客户端,gcm是通过客户端设备注册一个系统广播来唤醒应用并发出通知提示,所以这个时候客户端不需要一直运行来接收消息,gcm一次发送最多可发送100个用户

 

二.官网创建项目获取信息

 

去Google Developers Console(https://console.developers.google.com/project)创建项目,输入你的project name和project id,创建成功如下图:

 

 

 

在应用中我们会用到这个project number,再去Credentials下创建一个server key,得到的api key会在自己的服务器端用到,如图

 

 

 

顺便说一下,默认Cloud Messaging for Android是可用的,如果不能用,就需要去API & auth—> API下查看Cloud Messaging for Android是否disable

 

三.创建一个客户端app

首先要在AndroidManifest.xml文件配置gcm权限等信息

1
2
3
4
5
6
7
<uses-permission android:name="android.permission.INTERNET" />  
  <uses-permission android:name="android.permission.GET_ACCOUNTS" />//当GCM需要谷歌账户(设备版本低于4.0.4时需要)  
  <uses-permission android:name="android.permission.WAKE_LOCK" />  
  <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />  
  <permission android:name="applicationPackage.permission.C2D_MESSAGE"  
      android:protectionLevel="signature" />  
  <uses-permission android:name="applicationPackage.permission.C2D_MESSAGE" />

applicationPackage要改成自己的报名

android:minSdkVersion="8"不得低于8

根据官网文档介绍:

1.我们应该在配置文件注册一个系统广播

1
2
3
4
5
6
7
8
9
<receiver  
           android:name="com.google.android.gms.gcm.GcmReceiver"  
           android:exported="true"  
           android:permission="com.google.android.c2dm.permission.SEND" >  
           <intent-filter>  
               <action android:name="com.google.android.c2dm.intent.RECEIVE" />  
               <category android:name="com.example.gcm" />  
           </intent-filter>  
       </receiver>

2.注册监听通知服务(在app中创建一个服务类并继承GcmListenerService类)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<div>
<div>
<div><b>[html]</b> <a title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" href="http://blog.csdn.net/haiyoumeiyouwo/article/details/47082641#">view plain</a><a title="copy" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" href="http://blog.csdn.net/haiyoumeiyouwo/article/details/47082641#"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值