大约 15-30 分钟未在断开的网络上收到 GCM 消息
GCM message is not received on broken network about 15-30 minute
- 将我的 Android 设备连接到 WIFI AP。
- 从 AP 上拔下 WLAN 电缆,然后重新连接。
- 正在尝试向我的设备发送 GCM 消息,但消息未到达。
- 15-30 分钟后,GCM 消息到达。
我认为 GCM 服务每次都试图在 15-30 分钟内向服务器发送刷新消息。因此在此期间,断开网络上的 GCM 服务无法从服务器接收任何 GCM 消息,直到连接恢复。
我已经在 FCM 上测试了这个问题,但结果是一样的。
在 iOS(我的意思是 APNS)上,它在同样的情况下工作正常。
在 Android 设备上延迟排序有什么好的解决方案吗?
这是因为服务器的心跳问题,您可以强制将心跳发送到您想要的地方
context.sendBroadcast(new Intent("com.google.android.intent.action.GTALK_HEARTBEAT"));
context.sendBroadcast(new Intent("com.google.android.intent.action.MCS_HEARTBEAT"));
或
无需将心跳从 GCM 服务器发送到 phone,您可以强制 android 本身更快地发送心跳。
我查看了 Push Notifications Fixer 应用程序,我对其进行了测试并为我工作,似乎您需要做的就是广播以下意图:
com.google.android.intent.action.MCS_HEARTBEAT
com.google.android.intent.action.GTALK_HEARTBEAT
- 将我的 Android 设备连接到 WIFI AP。
- 从 AP 上拔下 WLAN 电缆,然后重新连接。
- 正在尝试向我的设备发送 GCM 消息,但消息未到达。
- 15-30 分钟后,GCM 消息到达。
我认为 GCM 服务每次都试图在 15-30 分钟内向服务器发送刷新消息。因此在此期间,断开网络上的 GCM 服务无法从服务器接收任何 GCM 消息,直到连接恢复。
我已经在 FCM 上测试了这个问题,但结果是一样的。
在 iOS(我的意思是 APNS)上,它在同样的情况下工作正常。
在 Android 设备上延迟排序有什么好的解决方案吗?
这是因为服务器的心跳问题,您可以强制将心跳发送到您想要的地方
context.sendBroadcast(new Intent("com.google.android.intent.action.GTALK_HEARTBEAT"));
context.sendBroadcast(new Intent("com.google.android.intent.action.MCS_HEARTBEAT"));
或
无需将心跳从 GCM 服务器发送到 phone,您可以强制 android 本身更快地发送心跳。
我查看了 Push Notifications Fixer 应用程序,我对其进行了测试并为我工作,似乎您需要做的就是广播以下意图:
com.google.android.intent.action.MCS_HEARTBEAT
com.google.android.intent.action.GTALK_HEARTBEAT