更改推送通知的内容

Changing the contents of a pushed notification

我想在用于接收推送通知的委托方法中更改与用户一起发送的 pushNotification 的内容(我正在使用 Firebase FCM)

我的计划是更改存储在 userInfo [AnyHashable:Any] 类型中的标题和 body 值,并将 userInfo 设置为此修改后的值。

根据 Apple's documentation,它表示 userInfo 是 get-only 属性。 我有什么办法可以更改客户端上 userInfo 的值吗?谢谢

无法更改推送通知的内容,因为系统会在通知应用程序之前将其呈现给用户。

如果您想更好地控制通知的外观,您应该使用富推送通知 (RPN)。使用 RPN,通知显示由您决定(应用程序端)。您可以自定义短信、添加 images/audios/videos/gifs 等。但这需要一些额外的工作。

您也可以尝试使用 Notification Content Extension 自定义通知的外观,但它不允许您自定义初始横幅(您需要点击初始横幅才能看到完整的通知界面)

https://developer.apple.com/documentation/usernotificationsui/customizing_the_appearance_of_notifications

我不确定如何更改通知中的用户信息,但您可以通过创建 NotificationServiceExtension 来更改推送通知内容。

参考这个document。这是关于通过 firebase 通知发送图像。 但这会改变通知的内容。

// Modify the notification content here as you wish
self.bestAttemptContent.title = [NSString stringWithFormat:@"%@ [modified]",
self.bestAttemptContent.title];