2017-03-28 16 views
0

Firebaseによる折り畳み不可通知を使用する必要があります。そのために私はこのようなデータメッセージを使用しています:Androidトレイにfirebase通知データメッセージを表示

{ 
"to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...", 
"data" : { 
    "Nick" : "Mario", 
    "body" : "great match!", 
    "Room" : "PortugalVSDenmark" 
    }, 
} 

このメッセージは、onMessageReceived()メソッドで解釈されます。 通知メッセージがシステムによって自動的に表示されるように、トレイにこのデータメッセージを表示する必要があります。

これを達成するにはどうすればよいですか?私はこれに関する文書を見つけることができません。

ありがとうございます!

+1

それは 'json'ですので、解析します –

答えて

3

onMessageReceived()のデータペイロードから値を取得するには、RemoteMessage.getData()、次に.get("<KEY_HERE>")を呼び出します。これと同じように:

public void onMessageReceived(RemoteMessage remoteMessage) { 
     super.onMessageReceived(remoteMessage); 
     Log.d(TAG, "onMessageReceived()"); 

     // Check if message contains a data payload. 
     if (remoteMessage.getData().size() > 0) { 
      Log.d(TAG, "Message data payload: " + remoteMessage.getData()); 

      String dataTitle = remoteMessage.getData().get("data_title"); 
      String dataBody = remoteMessage.getData().get("data_body"); 

      sendNotification(dataTitle, dataBody); 
} 

あなた自身そしてbuild and display the Notificationする必要があります。同様に:

private void sendNotification(String title, String body) { 
     Notification notif = new NotificationCompat.Builder(this) 
       .setSmallIcon(R.mipmap.ic_launcher) 
       .setContentTitle(title) 
       .setContentText(body) 
       .build(); 

     NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this); 
     notificationManager.notify(0, notif); 
} 
関連する問題