GCM有以下特点:
可以使用第三方应用服务器向Android应用推送消息
GCM不保证发送的消息的顺序,也不保证消息一定能够推送到手机(恩,谁也不能保证100%)
Android应用不需要运行就可以接收消息(是的,你没有看错,因为gcm被集成到系统中了,目前一些第三方的推送是在后台运行一个service维持长连接,与这些第三方推送相比,GCM不额外的耗电)
GCM只传递的数据(可以传递小于4kb的数据),对这些数据的处理可以全部由开发者控制(Google不对数据进行任何处理,仅仅转发一下而已)
对于Android4.04以上的系统使用GCM没有任何限制(国行手机也可以使用,截止2013年02月04日,android4.0+的份额为42.6%,随着4.0+版本的提升,Android的推送不再成为一个问题 Android版本分布),Android2.2以上的系统需要安装Google Play Store,Android2.2以下的系统不能够使用GCM
对于Android3.0以前的系统,需要在设备上设置google账号
gcm一次最多只能向1000部设备发送消息,没有提供向所有用户发送的接口(可能google认为向应用程序推送的消息都是与该用户相关的,如果你非要实现群发,一次发送1000个用户,多发送几次就行了)
App是运行在Android手机上的应用程序,GCM Server是Google的GCM服务器,Our Server是第三方应用服务器。具体流程如下:
App发送 SenderID到GCM Server注册接收推送信息(SendID是开发者在Google的网站开通GCM服务时,创建项目的项目号)。
GCM Server 向App返回RegId(RegId是GCM服务器通过一定算法生产的,可以唯一确定某一部手机上的某一个应用,这个RegId很重要)。
App向Our Server发送RegId(推送消息的时候要使用RegId,GCM服务器是使用RegId来确定某一部手机上的某一个应用接收消息的,所以第三方服务器需要保存它,需要注意的是RegId很长,比如可能有183位,存数据库时需要注意字段长度)
Our Server向GCM Server发送消息,传递appkey和RegId(appkey分为Oauth api key和simple api key)
GCM Server把消息推送给App
SIMPLE API KEY和OAUTH API KEY只能使用其中一个。不能同时使用。
消息在google server最长保留4个星期。这个时间可发送时自定义。
GCM经常收不到消息,让人抓狂。
msgcnt:消息的条数提示。在消息栏右下脚显示
message:消息内容
title:消息标题
如果不设置message参数,则不会弹出推送消息。(有title和msgcnt也没用)
開機後,GCM SERVICE默認自動開啟。如果禁止了就無法收到消息了。
國內有些設備沒有安裝GCM SERVICE和GOOGLE PLAY STORE,即使手動安裝了,也可能不能用的。因此無法使用GCM。
分享到:
相关推荐
本文档主要介绍了一种名为Galois/Counter Mode(GCM)的高级加密标准(AES)的工作模式。GCM是一种高效的、可认证的加密技术,适用于高速硬件加密场景以及软件实现。它在确保数据安全的同时提供了优秀的性能,尤其是...
下面是 GCM 的详细介绍和开发步骤。 GCM 架构概述 GCM 服务提供了一个简单、轻量级的机制,使得服务器端可以告诉移动端的应用与服务器端建立直接的联系,来获取更新的应用或者用户的数据。GCM 服务可以处理所有的...
本篇将详细介绍GCM-AES-128加解密以及密钥打包aes_wrap的相关知识点。 1. **GCM-AES-128 加解密** GCM模式下的AES-128是一种兼顾加密和消息认证的高效方法。它通过一个128位的密钥进行操作,确保数据的保密性。...
以下将详细介绍这三种模式及其在C#中的实现。 **1. AES GCM模式** GCM模式是一种用于块加密的 authenticated encryption(认证加密)模式,它结合了加密和消息认证码(MAC),确保数据的机密性和完整性。GCM通过一...
本文将详细介绍GCM和C2DM的主要特点,并对比分析两者的差异。 #### 二、Google Cloud Messaging (GCM) ##### 1. 概述 Google Cloud Messaging (GCM) 是Google推出的一种用于Android设备的消息推送服务。它允许应用...
本文将详细介绍GHASH函数在GCM中的应用,包括GCM的基本结构、GHASH函数的原理、GCM的输入输出、认证加密和解密操作等。 一、GCM的基本结构 GCM是一种基于AES算法的分组密码算法,使用GHASH函数提供认证加密功能。...
下面我们将详细介绍这些关键知识点: 1. **创建和配置消息**:使用Go-gcm库,你可以创建包含各种参数的消息对象,如`collapse_key`用于合并重复的消息,`priority`用于设置消息优先级,`time_to_live`设定消息有效...
在AES_GCM_SIV_128.zip这个压缩包中,我们可以推测包含了一些关于AES-GCM-SIV-128模式的资源,比如代码示例、理论介绍、测试用例等,用于帮助读者理解和实现这一加密技术。在使用AES-GCM-SIV-128时,需要注意以下几...
介绍 入门 按照在Android Studio中设置您的项目。 在您的Android设备上运行示例。 使用项目中的API密钥更新GcmSender.java中的API_KEY。 运行terminal命令以将GCM消息发送到您的设备。 包含GCM消息的通知应显示...
"JavaApk源码说明.txt"可能提供了关于源代码的详细说明,包括如何运行、关键类的功能介绍等。"下载更多打包源码~.url"则可能是提供其他相关示例或者学习资源的链接。 5. **注意事项** - **兼容性问题**:由于GCM已...
介绍 入门 按照在 Android Studio 中设置您的项目。 在您的 Android 设备上运行示例。 使用项目中的 API 密钥更新 GcmSender.java 中的 API_KEY。 运行终端命令将 GCM 消息发送到您的设备。 设备上应显示包含 ...
在此基础上,我们将详细介绍以下几个关键知识点: 1. 认证加密(Authenticated Encryption)概念及其重要性 认证加密是一种集成了数据的保密性和完整性保护的安全机制。它确保了在传输或存储过程中的数据,既能保持...
这是一个基于Python3的GUI程序,可帮助您使用AES-GCM加密和解密文件和文件夹。 经过测试 Windows 10和Python 3.8.8 具有Python 3.9.1的Parrot Linux 准备 确保您支持Python3.X。 下载项目: git clone ...
本文的标题是“A simple nanocasting route for preparation of mesoporous titanium dioxide/GCM microsphere”,中文可以翻译为“一种简单制备介孔二氧化钛/石墨碳纳米微球的纳米铸型方法”。摘要中提到使用...
下面将详细介绍这个示例项目中的关键知识点。 1. **GCM工作原理** GCM允许开发者发送推送通知到Android设备,即使应用程序没有运行。服务器通过GCM服务向设备注册的唯一ID发送消息,而设备接收消息后可以触发相应...
介绍 入门 按照在Android Studio中设置您的项目。 在您的Android设备上运行示例。 使用项目中的API密钥更新GcmSender.java中的API_KEY。 运行terminal命令以将GCM消息发送到您的设备。 包含GCM消息的通知应显示...
在本篇中,我们将详细介绍如何使用C#实现AES256加密与解密,并探讨不同工作模式的应用场景。 #### C#中的AES256实现 C#通过`System.Security.Cryptography`命名空间提供了对AES的支持。下面将具体分析代码片段中...
介绍入门按照在Android Studio中设置您的项目。 在您的Android设备上运行示例。 使用项目中的API密钥更新GcmSender.java中的API_KEY。 运行terminal命令以将GCM消息发送到您的设备。 包含GCM消息的通知应显示在设备...
介绍 入门 按照在Android Studio中设置您的项目。 在您的Android设备上运行示例。 使用项目中的API密钥更新GcmSender.java中的API_KEY。 运行terminal命令以将GCM消息发送到您的设备。 包含GCM消息的通知应显示...
本文将详细介绍如何利用GCM构建完整的消息接收与发送系统,涵盖后端与前端的关键技术。 1. **Google Cloud Messaging (GCM) 简介** GCM是谷歌云平台的一部分,它为开发者提供了可靠且高效的消息传递服务。通过GCM...