iOS一旦收到任何修改推送通知警报消息的方式?

Posted

技术标签:

【中文标题】iOS一旦收到任何修改推送通知警报消息的方式?【英文标题】:iOS any way to modify push notification alert message once received? 【发布时间】:2017-01-06 11:45:15 【问题描述】:

我的服务器生成包含loc-keyloc-args 的有效负载的推送通知,然后当在应用程序中收到一条消息时,它会根据Localizable.strings 的内容显示通知,将loc-key 模板的内容填充为loc-args.

我想对显示的通知内容进行一些后期处理,例如在本地访问用户的通讯录并将电话号码与联系人姓名匹配,然后在应用程序后台运行时显示更新的警报。有没有办法做到这一点?

【问题讨论】:

【参考方案1】:

您可以使用静默推送通知 (content-available = 1),该通知将发送到 application(_:didReceiveRemoteNotification:fetchCompletionHandler:),然后使用推送通知中的信息创建并显示本地通知。

这种方法的唯一缺点是,如果用户终止了您的应用程序(从应用程序切换器向上滑动),您的应用程序委托方法将不会被调用。

【讨论】:

【参考方案2】:

如果应用在前台,您可以捕获并处理通知,但如果应用在后台或应用未运行,您将无法访问通知数据。

【讨论】:

以上是关于iOS一旦收到任何修改推送通知警报消息的方式?的主要内容,如果未能解决你的问题,请参考以下文章

Apple 推送通知 - 收到 1 条消息,但收到 2 条以上警报

应用在前台运行时收到 iOS 推送通知

收到 iOS 推送通知但未显示任何消息

当应用程序处于活动状态时,phonegap 通用推送 ios 警报

使用 Parse 推送通知:当应用程序处于后台时显示警报

基于 alert 中数据的 iOS 推送通知警报消息