我们的应用程序会定期通过 GCM 接收通知。我们希望 GCM 仅在 App 连接到服务器时才发送通知,否则 GCM 不应发送任何通知。
是否有检测设备是否连接到 GCM 服务器?我们可以发送 PUSH 通知来 ping 设备吗?
我在谷歌上搜索了一些帖子,发现有一个叫做“HEART_BEAT”的东西,但它似乎用于从设备向 GCM 服务器发送通知。
注意:
我们可以将 MQTT-Protocol 与 GCM 结合使用吗?请指教
请让我知道 GCM 服务器是否可以 ping 设备。请提供例子。
我们的应用程序会定期通过 GCM 接收通知。我们希望 GCM 仅在 App 连接到服务器时才发送通知,否则 GCM 不应发送任何通知。
是否有检测设备是否连接到 GCM 服务器?我们可以发送 PUSH 通知来 ping 设备吗?
我在谷歌上搜索了一些帖子,发现有一个叫做“HEART_BEAT”的东西,但它似乎用于从设备向 GCM 服务器发送通知。
注意:
我们可以将 MQTT-Protocol 与 GCM 结合使用吗?请指教
请让我知道 GCM 服务器是否可以 ping 设备。请提供例子。
只需做一个简单的逻辑将特定消息(例如:testing_message)从 GCM 发送到移动设备,如果广播接收器检测到相同的消息,则不会生成推送通知。只需让应用程序将按摩发送回 GCM(不确定是否可能)或数据库。如果设备已连接,则会有响应,如果设备未连接,则不会有响应。然后仅在设备已连接时发送实际 ping。
您可以使用Pushy来实现这一点,它使用底层MQTT来传递您的通知。
使用Device Presence API,您可以在向设备发送任何通知之前检测设备当前是否已连接。
全面披露——我在 Pushy 工作。
将 TTL 设置为 0。这使得 FCM 仅在认为设备已连接时才发送消息。