许多应用程序,如WhatsApp依赖于GCM在设备空闲或应用程序在后台运行时向设备发送通知。GCM消息只是告诉应用程序从服务器同步,然后XMPP用于进行实际聊天(传送负载)。但是依靠GCM来发送消息是不是一个好的决定。所以在我的例子中,当一个用户想要与另一个用户交谈时,他向我的服务器发送一条消息,然后我通过GCM将消息传递给另一个用户。我了解GCM并非100%可靠,但我可以通过超时和确认消息确保可靠性。如果我完全使用GCM,还有什么可能会伤害我。不使用XMPP的原因是扩展XMPP服务器(我不太熟悉)需要花费很多精力,但在GCM我的很多缩放问题都由Google处理。
这个问题在这里已经有了答案:DoIneedtomigrateGCMtoFCMonclientside?(2个答案)关闭3年前。Google已于2018年4月10日弃用GCM,根据文档,将在2019年4月11日之前停止支持GCM。关于这个话题有很多问答,有人提到旧代币将继续对现有用户有效,但我的问题是新用户是否能够获得新代币4月11日之后使用GCM?所以基本上我有一个使用旧gcm代码库发布的应用程序,使用旧版本的googleplay服务,分布在另一个市场(不是Play商店)。截至目前,安装获得了它们的GCMtoken并且它们按预期工作,在弃用后安装我的(旧)应用程序的新用户会发生什么?我
我有几个Activity和一个处理GCM传入消息的Intent服务。现在对于每次推送,我都会发送一个通知,在用户单击它之后,他将被重定向到适当的屏幕。我想改变这种行为,如果应用程序可见(任何Activity都在前台),而不是显示对话框消息的通知(通过适当的操作)。知道如何实现吗?我有2个想法,但没有一个是完美的:跟踪应用程序中的每个Activity,如果Activity可见,则不显示通知,但会向Activity发送Intent(不是很好的解决方案)在每个Activity的onResume/onPause中注册/取消注册第二个广播接收器,“捕获”传入的GCM广播(我不确定是否可能)。还有
我的应用有两种版本,一种是调试版,一种是发布版。这些是不同风格的原因是我想让其他人下载调试版本来测试新功能。因此应该可以同时安装这两个应用程序。我的应用使用GCM,这对AndroidLollipop中的新安全功能造成了一些问题。这是我安装一种风格并尝试安装另一种风格时得到的结果:Failure[INSTALL_FAILED_DUPLICATE_PERMISSIONperm=com.example.test.permission.C2D_MESSAGEpkg=com.example.test]我试图通过将此添加到其Androidlist来更改调试风格中的权限:但我仍然得到同样的错误。任何
这个问题在这里已经有了答案:DooldGCMtokensliveonevenafteranuninstall?(2个答案)关闭7年前。我目前正在尝试使用GCM向用户发送通知,目前我仍在研究如何最大限度地利用它。现在我只使用文档中提供的示例项目here我使用gcm-client示例来处理它。现在使用这个projectfromGit我尝试使用应用程序创建的注册ID推送消息,是的,它成功发送了消息。现在的问题是在我卸载应用程序之后。在我重新安装它之后,它将生成一个新的注册ID,其中我将它与以前的注册ID一起存储在服务器上,除了我无法标记以前的注册ID以不再接收任何消息,因为当用户没有互联网时
我正在使用x86IntelAndroid模拟器进行Android应用程序开发。但是当我使用googlecroudmessagingAPI时,发生了错误。java.lang.UnsupportedOperationException:设备没有包com.google.android.gsf如果使用GoogleAPIs切换模拟器,错误很明显。但是非常慢....我搜索过相同的情况,并且找到了GooglemapAPI。HowtocreateavdwithgoogleapiforIntelx86atomimage?http://38911bytes.blogspot.de/2012/03/how-
我有一个使用GCM的应用程序的问题,场景是这样的:应用已安装应用程序调用GCM注册方法获取注册ID“RID-1”应用已卸载再次安装该应用应用程序再次调用GCM注册方法获取注册ID“RID-2”在第5步中,我需要获取之前的注册ID,以便更新我的模型。限制:-我试图在不使用外部存储的情况下做到这一点-我无法在服务器发送消息时更新模型,这应该在注册后完成,因为在应用程序中会为每个新设备创建一个新的配置文件我知道此信息在Google服务器中,因为它是在您向旧注册ID发送消息时发送给您的。例如,如果我向“RID-1”发送消息,在响应中我得到新的(规范的)注册ID是“RID-2”。我需要的是一种无
我正面临GCM推送通知的问题。我收到以下错误。{"multicast_id":4630467710672911593,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MismatchSenderId"}]}代码如下。任何帮助将非常感激。提前致谢。publicfunctiongcmPush(){$regId="APA91bHFcgOssQZEqtdUk3EC1ojwC5-LVG3NPV2bMqKyC9rPymR6StmAbz-N7Ss8fnvruZhWWNrR3lmBqpjQItlu00AKHPbltBclUJ
我在一个神秘的问题上卡住了一段时间。所以我在我的android应用程序中实现了GCM,但我收到了一个INVALID_SENDER错误。我的SENDER_ID是来自google项目url的ID。Android推送通知已开启奇怪的是,我已经有一个注册ID可以向其发送通知。所以我的控制台看起来像这样:03-2609:39:20.233:I/(19761):Alreadyregistered:APA91bG6-O3OnZt50EAjYvJ5KETv3qAlPOn2SfOPXez7SLAmaAOkHTN6EMDJb91gFIWkftZkJiub6UoEk4O-WQP7kk2oZGQjZ1VCZZ
我正在尝试从服务器获取消息作为android中的推送通知。我能够访问服务器,但我从服务器收到了空消息。我可以在android中看到没有消息的通知。这是我来自服务器的代码,我从ANDROIDHIVE获得了安卓代码publicclassGCMBroadcast{@POST@Path("/getgcm")publicStringgetGcmData(){Stringstr="success";try{System.out.println("FromCLient");Sendersender=newSender("AIzaSyBbfXkbCYWQdE5qyjJKwl-YLBX-F01ICug"