Xamarin.IOS 和 Signalr 推送通知

Posted

技术标签:

【中文标题】Xamarin.IOS 和 Signalr 推送通知【英文标题】:Xamarin.IOS And Signalr Push Notification 【发布时间】:2021-01-28 03:56:35 【问题描述】:

我正在开发一个 Xamarin 应用程序,我创建了一个 Signalr 通知系统,它在 Xamarin.android 和 Xamarin.ios 中都可以正常工作,但是当 Xamarin.IOS 应用程序关闭时它不起作用。

有没有办法在不使用 APN 或 FCM 的情况下解决这个问题?

有没有办法让 IOS 让我的应用在应用关闭时也能做一些事情?

【问题讨论】:

您是否注册了您的应用程序以在后台运行并使用远程通知作为提及here? 是的,我做到了,还是不行。 应用关闭时应该可以工作。也许您错过了一些步骤,请按照文档并再次检查您的代码。 【参考方案1】:

在 iOS 上,无法在后台保持信号器连接。操作系统会杀死它,你无法阻止它发生。 iOS 在进入后台时会立即终止应用(您有 5 秒时间),但有少数例外。

如果您使用的是 android,您可以创建一个前台服务来保持信号器连接处于活动状态。如果没有前台服务,android 也会在一段时间后终止 signalr 连接。 Android 将允许后台应用运行一段时间,然后将其终止,因此您必须有一个前台服务来保持信号器连接处于活动状态。

另外请注意,在调试时,iOS 将允许应用在后台运行。但发布的版本将不允许应用程序在后台运行。这会使调试信号器变得困难,因为它可以在调试中工作,但不能在生产版本中工作。

您可能需要使用 APN 进行通知。请注意,如果您想将推送通知直接发送到 Apple 服务器,APN 需要 HTTP/2 后端服务器。或者您可以使用 FCM 发送 APN。

【讨论】:

以上是关于Xamarin.IOS 和 Signalr 推送通知的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin iOS - 推送通知 - 区分点击的推送通知与到达

Xamarin.iOS - 设备关闭时推送通知

xamarin.ios 本地通知推送

Xamarin.iOS 无法在推送通知中显示照片

Xamarin.iOS 中的 Azure 推送通知不起作用

使用 Azure 中的集线器注册推送通知时,Xamarin.iOS 本机崩溃错误 SIGSEGV