当他不在应用程序(后台)时,有没有办法处理进入设备的推送通知?
让我的apns发送消息:“你好世界” 我想在应用程序处于后台时显示推送通知之前更改消息(不是由服务器,通过我的应用程序)。
答案 0 :(得分:0)
你应该能够做到这一点。您可以获得静默推送通知。收到通知后,根据需要进行更改,然后使用您要显示的提醒安排本地通知。完全披露,我实际上没有尝试过这个。
答案 1 :(得分:0)
您需要使用Silent Push Notifications执行此操作,因为在使用正常推送通知时您无法更改消息(操作系统会在收到消息时显示消息)。
当您发送静音推送时,您可以在应用代理中处理它,然后安排本地通知:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler {
NSDictionary *apsPayload = [userInfo objectForKey:@"aps"];
if ([userInfo[@"content-available"] boolValue] /* silent push */) {
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
localNotification.alertBody = @"Hello Local World!";
localNotification.fireDate = [NSDate date];
localNotification.timeZone = [NSTimeZone defaultTimeZone];
localNotification.soundName = UILocalNotificationDefaultSoundName;
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
}
}