接收解析通知并通过应用程序图标打开应用程序以查看通知

时间:2015-01-22 08:18:32

标签: ios parse-platform push-notification

当我收到通知时,我在AppDelegate.m

中使用了此代码
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
   [PFPush handlePush:userInfo];
}

因此,如果应用程序已打开并且当前在屏幕上,则会显示通知,或者如果应用程序在后台,则会点击通知将打开应用程序并显示它。有没有办法点击应用程序图标,然后显示通知?例如,用户可能会看到通知,并且想要查看它并点击主屏幕上的应用程序图标。有没有办法实现这个?

1 个答案:

答案 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,包含最近通知的列表供他们参考或选择