Я разрабатываю приложение и использую тихие push-уведомления для отправки некоторых данных. Push работает нормально, когда приложение активно, но если я прокручиваю приложение или оно неактивно, мое приложение не получает push-уведомление. Я включил push-уведомление в фоновом режиме в разделе «Возможности», а также добавил требуемый ключ фонового режима в info.plist.
Это пример данных, которые я отправляю вместе с push
{
"aps": {
"content-available": 1
},
"yourdatakey":{data}
}
Что мне делать, чтобы решить эту проблему??.. Может ли приложение iOS получать тихие push-уведомления в неактивном режиме?
-(void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void(^)(UIBackgroundFetchResult))completionHandler
{
if( SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO( @"10.0" ) )
{
NSLog( @"iOS version >= 10. Let NotificationCenter handle this one." );
return;
}
NSLog( @"HANDLE PUSH, didReceiveRemoteNotification: %@", userInfo );
if( [UIApplication sharedApplication].applicationState == UIApplicationStateInactive )
{
NSLog( @"INACTIVE" );
completionHandler( UIBackgroundFetchResultNewData );
}
else if( [UIApplication sharedApplication].applicationState == UIApplicationStateBackground )
{
NSLog( @"BACKGROUND" );
completionHandler( UIBackgroundFetchResultNewData );
}
else
{
NSLog( @"FOREGROUND" );
completionHandler( UIBackgroundFetchResultNewData );
}
}
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
willPresentNotification:(UNNotification *)notification
withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler
{
NSLog( @"Handle push from foreground" );
}
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
didReceiveNotificationResponse:(UNNotificationResponse *)response
withCompletionHandler:(void (^)())completionHandler
{
NSLog( @"Handle push from background or closed" );
}
Push играет решающую роль в моем приложении и не хочет никаких задержек. Что я должен сделать, чтобы получить толчок немедленно??...