我是一个有用的助手,可以为您翻译文本。
我面临着一个奇怪的问题。当移动设备连接到Internet并在服务器端发送消息时,我会收到推送通知。但如果此时它没有连接到互联网,而我稍后连接到互联网。我就无法收到该通知。据我所知,只要我们在线,所有这些通知都应该显示,因为GCM服务器存储了所有这些消息。我能收到其他应用程序的通知。此外,我已在清单中授予了wakelock权限。问题可能来自服务器端、客户端或移动设备吗?请帮忙…… 这个值是从第三方服务(.Net服务器)发送到GCM服务器的:
我面临着一个奇怪的问题。当移动设备连接到Internet并在服务器端发送消息时,我会收到推送通知。但如果此时它没有连接到互联网,而我稍后连接到互联网。我就无法收到该通知。据我所知,只要我们在线,所有这些通知都应该显示,因为GCM服务器存储了所有这些消息。我能收到其他应用程序的通知。此外,我已在清单中授予了wakelock权限。问题可能来自服务器端、客户端或移动设备吗?请帮忙…… 这个值是从第三方服务(.Net服务器)发送到GCM服务器的:
String postdata= "collapse_key=score_update&time_to_live=2419200&delay_while_idle=1&data.message=" +
message + "&data.time=" + System.DateTime.Now.ToString() + "®istration_id=" + deviceToken + ""
提前感谢您
delay_while_idle=0
时才使用它才有意义。 - Eran折叠键(collapse key)
的值取决于消息的内容。报告某物最新状态的消息,例如“得分是...”,应具有相同的折叠键,因此如果在设备处于空闲状态时向同一设备发送两条这样的消息,则只会在设备变为活动状态时传递最后一条消息。包含不同数据的消息,例如从聊天中的另一个用户发送的文本,应具有不同的折叠键,以便在设备再次活动时将存储在Google中的所有消息(达到一定限制)都会被传递。 - Erandelay_while_idle=0
,否则请使用delay_while_idle=1
。 - Eran