App处于活动状态时接收通知有效负载

时间:2016-11-15 08:50:01

标签: ios push-notification apple-push-notifications onesignal

我们正在将OneSignal与我们的项目集成。我们初始化的方式是

[OneSignal initWithLaunchOptions:launchOptions appId:@"XXXXX" 
      handleNotificationReceived:^(OSNotification *notification) {
      } handleNotificationAction:^(OSNotificationOpenedResult *result) {
          OSNotificationPayload* payload = result.notification.payload;
          NSLog(@"Title = %@ and data = %@",payload.title,payload.additionalData);
      } settings:@{kOSSettingsKeyInFocusDisplayOption : @(OSNotificationDisplayTypeNone), kOSSettingsKeyAutoPrompt : @NO}];

然后从ViewController.m

[OneSignal registerForPushNotifications];

我们不想显示应用内警告框,因此我们设置了OSNotificationDisplayTypeNone

现在生活很好,如果我们在App未激活时收到通知,则调用didReceiveRemoteNotification并处理有效负载。

问题是当app处于活动状态时,在这种情况下,didReceiveRemoteNotification都不会调用处理程序。我们希望在应用处于活动状态并收到通知时闪现某些内容。我们如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

确保您使用的是latest OneSignal 2.2.2 iOS SDK,此版本修复了application:didReceiveRemoteNotification:fetchCompletionHand‌​ler:选择器无法触发的情况。

[OneSignal initWithLaunchOptions...]的{​​{1}}选择器中拨打application:didFinishLaunchingWithOptions:也很重要。在其外部调用此信息可能会导致OneSignal SDK丢失事件,并且AppDelegate.m阻止可能无法触发。