当我收到通知时,我在AppDelegate.m
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
[PFPush handlePush:userInfo];
}
因此,如果应用程序已打开并且当前在屏幕上,则会显示通知,或者如果应用程序在后台,则会点击通知将打开应用程序并显示它。有没有办法点击应用程序图标,然后显示通知?例如,用户可能会看到通知,并且想要查看它并点击主屏幕上的应用程序图标。有没有办法实现这个?
答案 0 :(得分:1)
点击应用图标不会显示与通知相关的任何内容,只会在正常使用情况下加载您的应用。
但是,如您在问题中所述,您可以在响应有效负载后将通知设置为活动任务。假设您发送正在进行销售的推送通知,他们点击通知本身您可以注册任务以在选择时激活:
Per Parse Docs:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
. . .
// Extract the notification data
NSDictionary *notificationPayload = launchOptions[UIApplicationLaunchOptionsRemoteNotificationKey];
// Create a pointer to the Photo object
NSString *photoId = [notificationPayload objectForKey:@"p"];
PFObject *targetPhoto = [PFObject objectWithoutDataWithClassName:@"Photo"
objectId:photoId];
// Fetch photo object
[targetPhoto fetchIfNeededInBackgroundWithBlock:^(PFObject *object, NSError *error) {
// Show photo view controller
if (!error && [PFUser currentUser]) {
PhotoVC *viewController = [[PhotoVC alloc] initWithPhoto:object];
[self.navController pushViewController:viewController animated:YES];
}
}];
}
或者,您可以做的是拥有一个专门的通知'或者'消息' HUB或View Controller,包含最近通知的列表供他们参考或选择