Firebaseは、firebaseコンソールを使用して以前に行われたGCMのようなサーバを使用して、プッシュ通知を送信する2つの方法を提供します。今度はサーバーをGCMからFirebaseに変換していますので、アプリでFCM通知を受信して表示する必要があります。サーバで送信されたFCM Firebase通知を表示する方法
私は公式のfirebaseウェブサイトの実装を完了し、サンプルコードを実行しましたが、私はこの部分に固執しています。サーバーがFirebaseにプッシュ通知を送信し、Firebaseが自分のアプリにsendを送信すると、RemoteMessage
パラメータのonMessageReceived
メソッドで通知を受け取ります。メッセージがRemoteMessageパラメータ内にあることはわかっていますが、Androidベースのデバイス通知バーに通知テキストを表示する方法については、Firebaseの公式ドキュメントにガイドやサンプルコードがありません。
公式のガイドでわかるように、RemoteMessageパラメータから問題なくメッセージを抽出する方法は説明していません。私はあなたが内部を検索して文字列を見つけることができることを知っていますが、これを正しく安全に処理する方法についての公式ガイドを探したいと思います。公式ドキュメントで
あなたが持っているだけで、この:あなたは、サーバーからあなたをJSON onMessageRecieveを受け取るだろう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);
Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder notificationBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_main)
.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());
}
チェック[この](https://stackoverflow.com/questions/45875859/fcm-onmessagereceived-not-calling-android/45880920#45880920) – Maddy
良いポスト私は慎重にそれを読み込みます@Maddy – NullPointerException
あなたを助けてくれてありがとう:) – Maddy