其实我认为微信至今还没推出GCM的客观原因,1.目前市场还不太稳定,2.还有国内现在能用GCM的手机比较少,3.也有比较打一部分人觉得GCM比较耗电吧。下面陈述下有GCM的益处与劣处。
GCM的主要特征:
1、GCM要求手机必须运行Android2.2或更高版本,谷歌Play商店,或一个Android 2.2的虚拟机与谷歌的API。然而,您不仅限于通过谷歌Play商店部署您的程序。
2、它使用现有的谷歌服务连接。对于前3设备,这需要用户在他们的移动设备中设置他们的谷歌帐户。Android 4.0.4或更不需要谷歌账户。
3、它允许第三方程序服务器向他们的Android设备发送消息。
4、GCM不保证消息的发送和消息的顺序。
5、移动端程序不需要一直运行来接收消息。当新消息到达时,系统将通过意图广播唤醒程序。,程序需要设置适当的广播接收器和权限。
6、它不提供任何用户界面或任何其他处理消息的方法。C2DM只会收到原始邮件的程序。这个程序提供了一种处理消息的方法。例如,这个程序可能抛出一个通知,显示一个自定义接口,或者只是同步数据
GCM的短缺
1、不是每个运营商都可以使用规定的端口。在某个运营商3G / 2G下,连接到上这个服务器几乎是不可能的。WhatsApp在后台放了10分钟后,无法接收推送信息。
2、许多Android是由手机制造商定制的,供应商可能会删除GCM服务。
3、 在Android 2.2和3之间,你需要安装谷歌商店并设置谷歌帐户。
4、 由于国内2G和3G的NAT超时时间小于GCM心跳时间(28分钟),TCP长连接注定无法生存,每次都要等28分钟,心跳无法再接接收推。
我相信在GCM市场是稳定的,很快微信后很快就会加入GCM队列,,每个人都想把完美的应用程序给用户。
如果你在MicroG中无法添加谷歌账号,可能是由于以下几个原因导致的:1. 没有安装正确的GApps:如果你使用了没有包含Google Apps的ROM,或者使用了错误版本的Google Apps,可能会导致MicroG无法正常运行。
解决方法:安装正确版本的Google Apps。
2. Google Cloud Messaging(GCM)无法正常使用:MicroG需要使用Google Cloud Messaging服务来实现推送通知。如果GCM无法正常连接,可能会导致添加Google账号时出现问题。
解决方法:检查网络连接和防火墙设置是否阻塞了GCM连接,或者运行MicroG Self-Check工具进行自检,确认GCM能够正常工作。如果GCM出现问题,可以尝试使用MicroG自带的GmsCore替代GCM。
3. 谷歌服务框架(Google Play Services)版本不兼容:如果安装的Google Apps和谷歌服务框架的版本不兼容,可能会导致添加Google账号时出现问题。
解决方法:检查安装的Google Apps和谷歌服务框架版本是否匹配,并升级到最新版本。
4. Google账号被禁用、限制或者需要额外的安全验证:如果你的Google账号被禁用、限制或者需要额外的安全验证(如登录时需要输入验证码),可能会导致MicroG无法添加该账号。
解决方法:在其他设备或者计算机上尝试登录Google账号,确认账号是否正常。如果需要额外的验证,可以尝试在MicroG的账号设置中添加相应的验证信息。
总的来说,如果无法添加Google账号,可以尝试升级、检查网络连接和安全设置,并运行MicroG自检工具,以确认问题的具体原因。如果问题仍然存在,可以参考MicroG的官方文档或者社区中的帮助内容,寻求更进一步的支持。
GCM应该是Google Cloud Messaging吧。。。
下面附一段摘抄:
作者:feng xixi
链接:https://www.zhihu.com/question/21514839/answer/18496706
来源:知乎
GCM Architectural Overview Google Cloud Messaging for Android (GCM)是一个能够帮助开发者从服务器端发送数据到运行在Android手机上的程序的服务。这个服务提供了一个简单,轻量级的机制使得服务器端可以告诉移动端的程序与服务器端建立直接的联系,来获取更新的程序或者用户的数据。C2DM服务可以处理所有的消息队列的问题并且可以把消息发送到目标机器上运行的目标程序。
GCM的主要特点:
1、它允许第三方的程序服务端发送消息到他们的安卓设备。
2、GCM不能保证消息的发送和消息的顺序。
3、手机端的程序不需要一直运行来接收消息。系统会通过Intent broadcast来唤醒程序当有新的消息到来时。当然程序需要设置适当的broadcast receiver和permission。
4、它不提供任何的用户界面或者其他的东西来处理消息。C2DM只是简单的把收到的原始消息传递给程序。这个程序提供了处理这个消息的方法。比如,这个程序可能抛出一个通知,显示一个自定义的界面或者只是同步数据
5、GCM要求手机必须运行Android2.2或者更高版本并且要有Google Play Store ,或者运行具有谷歌api 的Android 2.2虚拟机。但是,你不仅限于通过Google Play Store部署你的程序。
6、它使用一个现有的连接用于谷歌服务。对前置3.0设备,这要求用户在他们的移动设备设置他们的谷歌账户。Android 4.0.4或更高对于谷歌帐户是不要求的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)