iOS上是否有可能修改收到的推送通知文本?

9

我有一个使用情况,通知提供者最终以一种我想更改的格式向我发送推送通知文本。我可以在应用程序的ObjectiveC/Swift代码中这样做吗?

3个回答

23
自从iOS 10以来,通过创建应用程序的UNNotificationServiceExtension,可以修改推送通知文本内容(除非它们是静默通知)。
该扩展程序在Xcode中作为单独的目标创建,并提供一个NotificationService类,其中包含两个函数:允许您修改推送通知内容的一个函数(didReceive withContentHandler),以及如果didReceive withContentHandler未能按时完成则通知应用程序的另一个函数(serviceExtensionTimeWillExpire)。
为使此功能正常工作,发送到您的应用程序的推送通知也需要被修改,以包括mutable-content键/值对且其值为1,这样iOS就知道要调用你应用程序的UNNotificationServiceExtension。
苹果公司的UNNotificationServiceExtension文档。

3
自从这种行为改变了,现在应该接受这个答案。 - Tieme

1

在 iOS 应用中,您的应用程序无法在推送通知数据显示给用户之前修改该数据。


0

不,您无法更改通知警报消息(文本),当应用程序处于非前台状态时,用户将看到该消息。用户将看到通知负载包含的相同文本。


你为什么要分享错误信息? - Eray Alparslan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接