2016-09-26 6 views
0

私はアンドロイドアプリケーションにFCMプッシュ通知を統合しました。そして私はpublic void onMessageReceived(RemoteMessage remoteMessage)の方法でデータを読むことができるので、アプリケーションがフォアグラウンドにあるときに通知を送信するためにFCMコンソールを使用していますが、問題は私がonMessageReceived()メソッドでデータを取得しないことです。背景にある。FCMを使用してアンドロイドでプッシュ通知をカスタマイズ

アプリがバックグラウンドのときに通知をカスタマイズする方法がある場合はお知らせください。事前

+0

をチェックアウトする必要がありますか?またあなたのonMessageReceive()を投稿する –

+0

は、メッセージのタイトルを与えるだろうオプションは、事前にパラメータを与えるでしょう –

+0

Read http://stackoverflow.com/questions/35257410/how-to-customize-notification-display-and-tone-when- using-gcmreceiver-and-gcmlis –

答えて

1

 if (remoteMessage.getData().size() > 0) { 
     Log.i("Message data payload: ", String.valueOf(remoteMessage.getData().toString())); 

     notification_type = remoteMessage.getData().get("type"); 
     switch (notification_type){ 
      case "store": 
       store_id = String.valueOf(remoteMessage.getData().get("store_id")); 
       image_url = String.valueOf(remoteMessage.getData().get("url")); 
       Log.i("prrr",store_id+"XCx"+String.valueOf(remoteMessage.getData().get("store_id"))); 
//     message = String.valueOf(remoteMessage.getData().get("message")); 
        break; 
       case "product": 
        product_id = String.valueOf(remoteMessage.getData().get("product_id")); 
        Log.i("prrr",product_id+"XCx"+String.valueOf(remoteMessage.getData().get("product_id"))); 
        store_id = String.valueOf(remoteMessage.getData().get("store_id")); 
        image_url = String.valueOf(remoteMessage.getData().get("url")); 
//     message = String.valueOf(remoteMessage.getData().get("message")); 
        break; 
       case "category": 
        category_id = String.valueOf(remoteMessage.getData().get("category_id")); 
        store_id = String.valueOf(remoteMessage.getData().get("store_id")); 
        Log.i("prrr",store_id+"XCx"+String.valueOf(remoteMessage.getData().get("store_id"))); 
        Log.i("prrr",category_id+"XCx"+String.valueOf(remoteMessage.getData().get("category_id"))); 
        image_url = String.valueOf(remoteMessage.getData().get("url")); 
//     message = String.valueOf(remoteMessage.getData().get("message")); 
        category_name = String.valueOf(remoteMessage.getData().get("category_name")); 
        break; 

     } 


    } 

    // Check if message contains a notification payload. 
    if (remoteMessage.getNotification() != null) { 
     Log.i("Message No: " ,"h"+remoteMessage.getNotification().getBody()); 
     title = remoteMessage.getNotification().getBody(); 
    } 

    sendNotification(String.valueOf(remoteMessage.getData().get("url"))); 

おかげでそれは既知の問題です。サーバー経由で、データメッセージとして通知し、コンソールでは通知しないでください。

それができない場合は、何らかの理由で、あなたはFCMからコンテンツをトリガーする方法this tutorial.

+0

私はそれを知っています。アンドロイドシステムはデフォルトの通知を表示します。それをカスタマイズする方法はありますか?それをクリックせずにデータを検出するにはどうすればいいですか? –

+0

アプリケーションサーバーを作成した後で、アプリケーションが終了したときに通知を表示する方法(bg&fgではなく)。GCM用のブロードキャスト受信機を使用します –

関連する問題