已发送但未收到GCM

时间:2016-01-11 18:36:52

标签: android ios google-cloud-messaging

我们开发了一个应用程序(Android和iOS),它使用gcm发送推送通知。 一切正常,但是,如果我或任何用户没有打开应用程序几天,推送通知不起作用。 一旦我知道它不起作用,我已用我当前的令牌测试过,当我将下游消息发送到gcm时,服务响应我“成功”:1, 但邮件未传送到我的设备。

在文档中不清楚,但我是否需要定期拨打电话的应用程序服务

InstanceID instanceID = InstanceID.getInstance(MainActivity.this);
token = instanceID.getToken(getString(R.string.gcm_defaultSenderId),
        GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);

永远“准备好”???

iOS正在发生同样的事情

提前致谢。

2 个答案:

答案 0 :(得分:0)

documentation可能会对您有所帮助。 作为文件; delay_while_idle和time_to_live参数可以解决您的问题。请记住GCM服务器保留消息最多4周,time_to_live取值为秒。我们正在使用GCM ios和android,所有消息都传递给设备。有时ios会收到延迟通知

答案 1 :(得分:0)

我们终于找到了发生的事情。 Samnsung正在他们的Android设备上安装一个名为SmartManager的应用程序。 当应用程序“优化”(未使用3天)时,此应用程序会“杀死”GCM套接字。

我们做了什么?我们检测到SmartManager包,并警告用户此行为。 此外,我们在获取gcm令牌时进行了指数退避。