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

Posted

技术标签:

【中文标题】从 C# Azure Web 应用程序向前台 iOS 和 Android 应用程序发送静默实时事件更新【英文标题】:Send silent real time event updates from C# Azure web app to foreground iOS and Android app 【发布时间】:2021-07-06 12:13:35 【问题描述】:

我需要将服务器事件发送到我的 iosandroid 应用程序。远程推送通知适用于用户可以看到的更新。例如当有人发送好友请求时,服务器会发送通知;如果应用程序在后台,它将显示一个通知,如果它在前台,我有代码要显示或不显示通知横幅。

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

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

这可能以前被问过,但我找不到任何好的信息。正在使用类似PubNub 或Pusher Channels 的方法吗?任何好的文章将不胜感激。

【问题讨论】:

一般来说,是的,PubNub 是正确的选择(完全披露,我为 PubNub 工作)。实时通知可以与 FCM 和 APNs 有效负载一起发送,因此两者都可以包含在发送的同一条消息中。这是一个相当笼统的问题/帖子,所以我没有要分享的细节。如果您对“如何”有更多疑问,我建议您阅读 PN 文档,如果您有任何其他问题,请直接询问 PN 支持。 【参考方案1】:

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

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

【讨论】:

以上是关于从 C# Azure Web 应用程序向前台 iOS 和 Android 应用程序发送静默实时事件更新的主要内容,如果未能解决你的问题,请参考以下文章

如何实现后台向前台传数据

用于使用 Azure SQL Server 数据的 C# Web API

使用 Azure 行动服务开发 iOS 应用程序的后端平台

java web后台向前台传值的有几种方法?

Azure - 从辅助角色访问与 Web 角色相同的 blob

struts项目向前台返回图片。