带有 Web API 延迟的 Android 推送通知和 SignalR 通知

Posted

技术标签:

【中文标题】带有 Web API 延迟的 Android 推送通知和 SignalR 通知【英文标题】:Android Push notifications with Web API delay with SignalR notifications 【发布时间】:2016-05-26 11:49:06 【问题描述】:

我正在尝试借助 Google Cloud Messaging Service 为 android 手机实现推送通知。作为后端,我使用 Web API 作为服务器,它将与我的 SignalR 连接以从我的 Web 应用程序获取通知。在这里,我可以在与 SignalR 连接后获得即时通知到 Web API。但是,在我将更新发送到 GCM 以发送通知后,有时它会立即发送,并且大多数情况下通知要么不发送到移动设备,要么发送时很晚。

请建议我解决这个问题,并立即将消息从 Web API 发送到移动设备。

【问题讨论】:

GCM 有时会延迟通知,但有一些方法可以避免这种情况。例如:***.com/questions/19560448/… 看起来用户需要下载另一个应用程序,尤其是在给定链接上的通知。但是,除了谷歌云消息发送通知之外,还有其他方法吗?也想试试 您是否阅读了我刚刚链接的问题的第一个答案? 当然,除了 GCM 之外还有其他方法,但它们要繁琐得多……另外,如果您错过了,Google 已经切换到新的云消息传递 API - FCM。它与具有一些新功能的 GCM 几乎相同。现在考虑切换到它,他们还提供迁移指南。欲了解更多信息,请参阅:firebase.google.com/docs/cloud-messaging 谢谢桑多。即使我想和FCM一起去。但是,对于 Web API,我们如何连接?我们有相同的样品吗?我试图在所有地方搜索,但没有运气。如果您在此找到更好的链接,请帮助我 【参考方案1】:

尝试强制系统发送心跳:

getContext().sendBroadcast(new Intent("com.google.android.intent.action.GTALK_HEARTBEAT")); getContext().sendBroadcast(new Intent("com.google.android.intent.action.MCS_HEARTBEAT"));

【讨论】:

这个改变是我需要在 android 或 Web API Ivan 上实现的吗?请帮帮我 这应该在 Android 上实现 - 任何你可以访问上下文对象(应用程序、活动、服务)的地方。 当然,伊万。如果我有任何运气,我会试着告诉你 没有运气埃文。最后,我删除了 GCM 并开始使用 Pushy 通知,效果很好。感谢您对此的帮助【参考方案2】:

经过一番努力,我发现 Google 推送通知服务总是存在问题,我完全删除了 GCM 并开始使用 Pushy Notifications,它运行良好。

有关这方面的更多信息,请查看此链接Pushy Notifications

【讨论】:

以上是关于带有 Web API 延迟的 Android 推送通知和 SignalR 通知的主要内容,如果未能解决你的问题,请参考以下文章

带有 2 个按钮的渐进式 Web 应用程序的 Android 推送通知?

Titanium 推送通知(Android 接收通知延迟)

通知在 Android 8.0+ 中延迟

Parse.com 推送通知延迟或仅在 Android 应用重启后

Web 推送通知是不是可以在 Apache Cordova Android 应用程序中使用?

通过 FireBase 触发从 ASP.Net Api 到 Xamarin.Android 应用程序的推送通知