Google Cloud Messaging 能否向能够接收语音调用和短信但出于某种原因目前无法正常工作的数据连接的手机发送具有“零字节负载”的通知?
所谓“零字节”,我的意思是手机会意识到特定发件人向它发送了没有有效载荷的 GCM 通知,并可能会为此目的发出 Intent 。
现实世界的例子:一个防盗警报器被触发,并向房主发送两条推送消息——一条零字节消息,其含义完全从它被发送的事实中隐含,暗示“坏事正在发生“,并且即使在数据连接被阻止或不可用时也可以(大概)被传送,因为它(大概)骑在用于 SMS 的同一传输层上,并且在几秒钟后发送更长的推送通知,其中包含有关该情况的其他元信息这可能仅在当前存在有效数据连接时才有效(因此可以通知手机,并在建立常规数据 session 后从服务器获取有效负载)。
我读过 Google 的文档,但他们似乎故意向后弯腰,只字不提 GCM 的物理传输层。
最佳答案
对此我不得不说“不”,因为 GCM(以及几乎所有 Google 所做的事情)都是基于 TCP/UDP/IP 的,如果您的手机没有 Activity 数据 (3G/4G/WiFi) 连接。
由于电话没有 IP 地址,因此 GCM 无法传递消息。
来自 GCM Architectural Overview :
- 它使用现有的 Google 服务连接。
关于android - 没有工作数据连接的谷歌云消息传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14859604/