从应用程序内部触发推送通知
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 应用程序的推送通知