2013-02-11 43 views
0
String postdata= "collapse_key=score_update&time_to_live=2419200&delay_while_idle=1&data.message=‌​" 
       + message + "&data.time=" + System.DateTime.Now.ToString() 
       + "&registration_id=" + deviceToken + ""; 

混淆collapse_key的和delay_while_idle标志。我的通知是新闻。所以现在,当设备处于活动状态时,我会以正确的方式收到通知。但在空闲时会遇到问题(离线,锁定或关闭)。如果在设备处于空闲状态时发送了两个通知,则每当它处于活动状态时它都会收到两个通知。我应该追加增量值collapse_key ?????在开发人员站点中,delay_while_idle标志应该为真。所以我把它设置为1,但有人建议我设置delay_while_idle = 0。请检查上面的屏幕,并让我知道是否有任何更正。GCM推送通知后的字符串数据发送到来自第三方服务器(.NET服务器)GCM服务器

回答

2

如果您希望它仅在设备再次变为活动状态时才接收这两个通知,请将delay_while_idle = true并增加/更改collapse_key。

如果您希望即使手机被锁定/睡着时仍显示消息,请将delay_while_idle设置为false。

+0

现在举一个例子,带三个设备。第一个设备始终处于活动状态并处于联机状态,第二个设备处于锁定/睡眠状态(但已连接到互联网),第三个设备处于脱机状态。现在,如果从服务器发送了两个通知,则第一个设备将收到两个通知;第二个应该在它变得活跃时收到两个通知;第三台设备在再次联机并且处于活动状态时应收到通知。这是我的要求,现在请告诉我什么应该是delay_while_idle和collapse_key的价值?请注意,我已将Wake_lock权限添加到清单 – ARIJIT 2013-02-12 05:23:42

+0

请在我的答案中设置值。 – NickT 2013-02-12 08:58:23

+0

Thanx NickT。然后我离开delay_while_idle = true并递增collapse_key。因为我需要设备处于活动状态时的通知。使用这些值只是想确认,如果设备处于脱机状态或者在消息发送时被锁定/睡着,那么当设备变为活动状态时,它将会收到通知或不通知....请回答这一点,我很困惑这部分 – ARIJIT 2013-02-12 09:26:34