从 C# Azure Web 应用程序向前台 iOS 和 Android 应用程序发送静默实时事件更新

Send silent real time event updates from C# Azure web app to foreground iOS and Android app

我有一种情况需要将服务器事件发送到我的 iOS 和 Android 应用程序。远程推送通知对于用户可以看到的更新工作正常。例如当有人发送好友请求时,服务器发送通知;如果应用程序在后台,它将显示通知,如果它在前台,我有代码显示或不显示通知横幅。

但是有些事件,例如有人取消发送朋友请求。我需要将该事件发送到应用程序,以便他们(应用程序)刷新他们的好友请求列表。普通的远程推送通知是不合适的,因为如果应用程序在后台,用户将看到通知。我希望它是静默更新,而移动应用程序是 运行。

对于 iOS 至少有一个静默通知,可以完成这项工作。但是 Apple 表示,尽量不要每小时发送超过 2 或 3 个这样的信息,因为它们只是告诉您的应用程序在后台进行自我更新。所以这不适用于连续的实时更新。

以前可能有人问过这个问题,但我找不到任何好的信息。使用 PubNub or Pusher Channels 之类的东西是可行的方法吗?任何好的文章将不胜感激。

考虑到我问题中的条件,SignalR 或 PubNub 等其他第 3 方解决方案可以完成这项工作。

我选择了 SignalR Core,因为它已经是 Asp Net Core 的一部分,而且是免费的。