1

Я использую Firebase Cloud Messaging для своих push-уведомлений, в которых APN используется в своем back-end.Скрыть уведомление APN ТОЛЬКО, когда приложение находится в фоновом режиме?

Когда приложение находится в передним планом, didReceiveRemoteNotification вызывается и уведомление не отображается, это идеально.

Когда заявка убита, didReceiveRemoteNotification не вызывается, но отображается уведомление, это тоже хорошо.

Однако, когда приложение находится в фон, вызывается как didReceiveRemoteNotification, так и уведомление. Как скрыть его и сохранить только didReceiveRemoteNotification?

Вот как моя полезная нагрузка выглядит следующим образом:

$fields = array(
    'registration_ids' => $tokens, 
    'data' => $message, 
    'content_available' => true, 
    'priority' => 'high', 
    'notification' => array('body' => 'notifbody', 'title' => 'testtitle', 'sound' => 'default') 
    ); 

ответ

1

Попробуйте это.

- (void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { 
     UIApplicationState state = [application applicationState]; 
     // user tapped notification while app was in background 
    if (state == UIApplicationStateInactive || state == UIApplicationStateBackground) { 
     // go to screen relevant to Notification content 
    } else { 
     // App is in UIApplicationStateActive (running in foreground) 
     // perhaps show an UIAlertView 
    } 
} 

Во-вторых, При вызове метода - (Недействительными) registerForRemoteNotificationTypes: (UIRemoteNotificationType) типы следует указать соответствующий тип аргумента. Если вы хотите отображать предупреждение, когда система получает push-уведомление для вашего устройства, вы должны пройти UIRemoteNotificationTypeAlert.

Также вы можете комбинировать типы и передавать их в этом аргументе: UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeBadge.

Удалить предупреждение, если вы не хотите получать предупреждение сверху.

Надеюсь, это поможет вам.

Спасибо.

+0

Этот метод пуст в моем коде, я ничего не показываю сам, APN генерирует и показывает уведомление –

+0

вы говорите об уведомлении, которое происходит из верхней части iOS, в центре уведомлений? @Gintas_ –

+0

да, это правильно –

Смежные вопросы