从应用程序内部触发推送通知

Posted

技术标签:

【中文标题】从应用程序内部触发推送通知【英文标题】:Trigger a push notification from inside the app 【发布时间】:2016-04-19 02:12:56 【问题描述】:

是否可以?

我需要构建一个函数,将远程文件与缓存文件进行比较,如果远程文件上有任何新内容,它会更新缓存并触发来自应用程序本身的推送通知。

我想知道这是否可能?如果是这样,我将如何构建它?

注意:缓存文件为 JSON 格式。

【问题讨论】:

不,你不能那样做。只有服务器可以发送推送。 在任何时候你都可以调用webservice来指示服务器在设备中发送推送通知,或者如果你想从设备本身发送,你可以使用本地通知(UILocalNotification) 感谢@Pyro Im 使用 UILocalNotification。但是当我关闭应用程序时,它基本上停止工作。我想知道是否有办法让该功能保持运行以定期发送通知,即使应用程序关闭也是如此。 @kevinabraham 该功能将在应用关闭时停止,但如果您在应用中将 UILocalNotification 设置为特定时间,即使您的应用关闭,它也会调用 @Pyro 我需要检查 json 响应的更新。在发送 UILocalNotification 之前,我每次都可以这样做吗?还是将检查作为后台提取功能运行会更好? 【参考方案1】:

要实现这一点,您必须永久检查更新,这会耗尽用户的电池消耗网络容量,因此设置服务器来实现这一点任务是去这里的路。

看起来有点像这样:

    将您设备的推送令牌发送到您的服务器并订阅对文件的更改。 在远程文件更改时触发服务器上的操作。 使用您在步骤 1 中获得的推送令牌向订阅了文件的设备发送通知。

要详细了解推送通知的工作原理,您可以查看这篇精彩的教程here。

【讨论】:

@pi000 我同意并且我很想这样做。但是客户端最初希望使用本地通知而不是使用服务器,这就是我要求这样做的原因。

以上是关于从应用程序内部触发推送通知的主要内容,如果未能解决你的问题,请参考以下文章

从推送通知触发操作

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

Xamarin - 推送通知 - 从服务器更新数据的触发器

从一个信号触发的 Firebase 云功能发送 voip 推送通知

从服务器发送通知时未触发推送事件

应用在前台时如何触发苹果推送通知事件?