正如我们所知,当推送通知横幅准备好显示时调用此函数。
-(void)userNotificationCenter:(UNUserNotificationCenter* )center
willPresentNotification:(UNNotification* )notification
withCompletionHandler:(void (^)(UNNotificationPresentationOptions
options))completionHandler{
}
在这个函数中有类通知(UNNotification),其中包含将要在横幅上显示的信息。 现在的问题是我们可以在应用程序中更改推送通知的内容吗? 我可以用这种方式存储所有内容。
NSString *title=notification.request.content.title;
NSString *subTitle=notification.request.content.subTitle;
等等。 但问题是这些属性(标题、副标题)只是只读的。 有没有办法更改此完成处理程序或其他方法中的内容?
最佳答案
创建 NotificationService扩大。当您在有效负载中的 aps 中将可变内容标志作为 1 发送时,iOS 系统会启动您的扩展程序并让您有机会更改通知内容。即使您的应用程序处于终止状态,这也会起作用。唯一的缺点是这仅适用于 iOS 10 及更高版本。
关于ios - 以编程方式更改推送通知内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46579797/