1

バックエンドでAPNを使用するプッシュ通知にFirebase Cloud Messagingを使用しています。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)あなたは、引数の適切なタイプを示す必要があり種類。デバイスがプッシュ通知を受信したときにアラートを表示する場合は、UIRemoteNotificationTypeAlertを渡す必要があります。

また、型を組み合わせてその引数に渡すこともできます。UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeBadge。

アラートを削除します。アラートを削除するには、上からアラートを取得する必要があります。

ご希望の場合はお手数ですが、

ありがとうございました。

+0

このメソッドは私のコードでは空ですが、自分で何も表示していません.APNが生成して通知を表示します。 –

+0

通知センターのiOSのトップからの通知についてお話ししていますか? @Gintas_ –

+0

ええ、そうだよ。 –

関連する問題