我们正在将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都不会调用处理程序。我们希望在应用处于活动状态并收到通知时闪现某些内容。我们如何实现这一目标?
答案 0 :(得分:0)
确保您使用的是latest OneSignal 2.2.2 iOS SDK,此版本修复了application:didReceiveRemoteNotification:fetchCompletionHandler:
选择器无法触发的情况。
从[OneSignal initWithLaunchOptions...]
的{{1}}选择器中拨打application:didFinishLaunchingWithOptions:
也很重要。在其外部调用此信息可能会导致OneSignal SDK丢失事件,并且AppDelegate.m
阻止可能无法触发。