2017-10-14 15 views

答えて

0

はい。それができます。参照をチェックFirebase Notification Github Repo

プッシュ通知は二つのこと

  • に基づいてトリガされます(FCMトークンに基づいて)特定のデバイス
  • へ送るサブスクライブのトピックに基づいて(デバイスのグループに送信しますデバイス

    で受信したメッセージがレムにアクセスできる場合)

onMessageReceived(RemoteMessage remoteMessage)が呼び出されますOTEのメッセージと私は初期の開発のためにそれをシンプルに維持しようと

必要性と要件に基づいてアクションを行う

@Override 
public void onMessageReceived(RemoteMessage remoteMessage) { 
    // Do nothing if message is null 
    if (remoteMessage == null) return; 

    // Data exists 
    if (remoteMessage.getData().size() > 0) { 
     // To show the notification pass the entire remote message as string 
     sendNotification(remoteMessage.getData().toString()); 

     // if you've JSON string then decode and handle accordingly 
     // Sample 
     /** 
      try { 
       JSONObject json = new JSONObject(remoteMessage.getData().toString()); 
       sendNotification(JSONObject json); // Need to add method to the class to handle this 
      } catch (Exception e) { 
       Log.e(TAG, "Exception: " + e.getMessage()); 
      }   

     */ 
    } 

    /** 
    * Create and show a simple notification containing the received FCM message. 
    * @param messageBody FCM message body received. 
    */ 
    private void sendNotification(String messageBody) { 
     Intent intent = new Intent(this, MainActivity.class); 
     intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent, 
       PendingIntent.FLAG_ONE_SHOT); 

     String channelId = getString(R.string.default_notification_channel_id); 
     Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 
     NotificationCompat.Builder notificationBuilder = 
       new NotificationCompat.Builder(this, channelId) 
       .setSmallIcon(R.drawable.ic_stat_ic_notification) 
       .setContentTitle("FCM Message") 
       .setContentText(messageBody) 
       .setAutoCancel(true) 
       .setSound(defaultSoundUri) 
       .setContentIntent(pendingIntent); 

     NotificationManager notificationManager = 
       (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 

     notificationManager.notify(0 /* ID of notification */, notificationBuilder.build()); 
    } 
} 
関連する問題