当他不在应用程序中时(后台),有什么方法可以处理设备中的推送通知?
假设我的apns发送消息:“ hello world”,我想在应用程序处于后台时在设备显示推送通知之前更改消息(不是由服务器,而是由我的应用程序)。
您将需要使用Silent Push Notifications来执行此操作,因为在使用普通的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];
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句