【问题标题】:GCM push notification does not work correctly when using Wifi network使用 Wifi 网络时 GCM 推送通知无法正常工作
【发布时间】:2018-04-08 18:55:23
【问题描述】:

我成功地集成了我的应用程序以使用 GCM 接收推送通知。它工作正常,我只是在我的一个使用我的 wifi 网络的 android 设备上接收推送通知时看到了一个奇怪的行为,同时其他使用 EDGE 或 3G 网络的人正在正确接收通知。当我尝试关闭并打开 wifi 时,它会收到待处理的通知。

我尝试在路由器的防火墙中打开 GCM 通常使用的端口,即 5228,5229 和 5230,但没有成功。

注意:看到这个后,我尝试为 Parse API 配置应用程序,它的工作方式与 GCM 相同,所以我认为这取决于网络数据包接收或其他东西。

【问题讨论】:

  • 我不这么认为。可能对您的 WiFi 有一些限制,因为我已经在这方面工作,并且它在所有网络中都可以正常工作

标签: android notifications google-cloud-messaging


【解决方案1】:

我相信,您面临的是一个已知问题,即 GCM 服务器和您的手机之间的 TCP 连接由于不活动而超时。如果不时发送数据包,手机和 GCM 服务器之间的网络设备(如 Wi-Fi 路由器、ISP 硬件等)可能会中断 TCP 连接。

您可以尝试一些解决方法。例如,Google Play 上有apps 修改了默认的 Android 行为并使其更频繁地更新此连接,增加了它不会超时的机会。您可以尝试一下,看看它是否可以为您解决问题。

【讨论】:

  • 好的 Haspemulator,我们可以使用上述应用程序在后台使用的某种代码,以便我们自己使连接生效吗?
  • 我可以确认这一点。我的 GCM 通知是通过 wifi 即时发出的。我更改了 ISP 并切换到有线调制解调器/路由器,使用之前运行的同一应用程序延迟可能为 15 分钟。
  • @NickT 有什么办法可以解决这类问题吗?
  • @Saty,我还没有找到,但话说回来,我并没有那么努力,因为就我的目的而言,通过 3G 发送消息更重要。
  • 如果您发送大量消息,您可能会面临 GCM 服务器的限制:developer.android.com/google/gcm/adv.html#throttling
猜你喜欢
  • 2016-06-19
  • 2021-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-16
  • 1970-01-01
相关资源
最近更新 更多