以编程方式更改推送通知内容

时间:2017-10-05 07:06:33

标签: ios objective-c ios10 ios11

我们知道当推送通知横幅准备好呈现时调用此函数。

-(void)userNotificationCenter:(UNUserNotificationCenter* )center 
willPresentNotification:(UNNotification* )notification 
withCompletionHandler:(void (^)(UNNotificationPresentationOptions
 options))completionHandler{


 }

在此功能中,有一个类(UNNotification)通知,其中包含将在横幅上显示的信息。 现在的问题是我们可以在应用程序中更改Push通知的内容吗? 我可以用这种方式存储所有内容。

NSString *title=notification.request.content.title;
NSString *subTitle=notification.request.content.subTitle;

等等。 但问题是那些属性(title,subTite)只是只读。 有没有办法在这个完成处理程序或其他方法中更改内容?

1 个答案:

答案 0 :(得分:4)

创建NotificationService扩展程序。当您在有效负载的aps内发送mutable-content标志为1时,iOS系统会启动您的扩展并让您有机会更改通知内容。即使您的应用处于被杀死状态,这也会有效。唯一不足的是,这仅适用于iOS 10及更高版本。

相关问题