1

を示していない。Firebase背景と非アクティブな通知iOSの10でプッシュ通知のためのFCMを使用してiOSの

これは、私たち自身のAPIを介して通知をプッシュした後に呼び出さなってきsnipperです:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler { 
    // If you are receiving a notification message while your app is in the background, 
    // this callback will not be fired till the user taps on the notification launching the application. 
    // TODO: Handle data of notification 

    [[FIRMessaging messaging] appDidReceiveMessage:userInfo]; 
    if (userInfo[kGCMMessageIDKey]) { 
     NSLog(@"Message ID: %@", userInfo[kGCMMessageIDKey]); 
    } 

    completionHandler(UIBackgroundFetchResultNewData); 
    if(application.applicationState == UIApplicationStateBackground){ 
     [[TWMessageBarManager sharedInstance] showMessageWithTitle:@"Bacgkround" 
                 description:@"Wassup" 
                   type:TWMessageBarMessageTypeSuccess callback:^{ 


                   }]; 

    } 
    else if(application.applicationState == UIApplicationStateActive){ 
     [[TWMessageBarManager sharedInstance] showMessageWithTitle:@"Active" 
                 description:@"Wassup" 
                   type:TWMessageBarMessageTypeSuccess callback:^{ 


                   }]; 
    } 

    else if(application.applicationState == UIApplicationStateInactive){ 
     [[TWMessageBarManager sharedInstance] showMessageWithTitle:@"InActive" 
                 description:@"Wassup" 
                   type:TWMessageBarMessageTypeSuccess callback:^{ 


                   }]; 
    } 
} 

アプリ上記のメソッドが呼び出され、UIApplicationStateActiveのcaseが実行され、サードパーティライブラリを使用してポップアップが表示されます。ホームボタンを押して通知を押すと、上記のメソッドが呼び出され、UIApplicationStateBackgroundが実行されますが、どのように通知をバナーの形で表示するのか分かりません。

これは私が通知を処理する必要がある方法ですか?はいの場合は、バックグラウンドと非アクティブの状態をどうすれば処理できますか?

答えて

0

ユーザーアプリがフォアグラウンドでないときにカスタム通知を表示するようになされたすべてのlibや何かをすることはできません私はTWMessageBarManagerについて多くを知らないが、私はあなたを伝えることができます。あなたのアプリはバックグラウンドで動作している、あなたは、iOSで通知バナーは、それ自体が表示されますプッシュ通知を受け取った場合

+0

しかし、私は右のUIApplicationStateBackgroundケースで何かを書く必要がありますか? –

+0

私は 'UIApplicationStateBackground'のプッシュ通知を処理するための何もしていないと思っています.iOSはそれ自体で処理します。 –

+0

その場合、 - (void)userNotificationCenter :(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler :(void(^)())私の場合、completionHandler {}メソッドが呼び出されていません!アプリが中断またはその終了した場合 –

1

あなたはちょうどあなたがあなたがそれを追加しない場合は、iOSのは検討し、サーバから受信ペイロードに通知本体を配置する必要がありますfirebase.egによって提供されることとして、サイレントプッシュ通知やユーザーが状態アプリケーションがこれまで何に通知バナーをクリックしたとき、あなたはそのコールバックメソッドを取得します通知banner.egに

{ 
    "data":{ 
    "title":"mytitle", 
    "body":"mybody", 
}, 
"notification":{ 
    "title":"mytitle", 
    "body":"mybody", 
}, 
} 

は表示されませんがトリガ

// [START receive_message] 
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo; 

など

注:このすべては、iOS版で制御されるよう通知バナーを表示するために、任意のサードパーティのライブラリを使用する必要はありません。

関連する問題