私は、プッシュ通知を受け取るためにfirebaseメッセージングサービスを使用するアプリを持っています。アプリが破棄されたときにfirebaseを使用してプッシュ通知を表示する方法
通知情報をFCM送信サーバーに送信する際に、「通知」または「データ」の使用の違いを既に検索しました。
アプリが破棄されたときは、フォアグラウンドまたはバックグラウンドのときにのみ通知が表示されません。
私のサーバーは、毎回(約1週間に2回ほど)毎回プッシュ通知をデバイスに送信する必要がありますが、アプリケーションは閉じている間に通知を表示できる必要があります。
どうすればいいですか?これは私がFCM送信側サーバーに送信しています私の通知JSONエンコードされた文字列です:アプリがバックグラウンドまたはフォアグラウンドにある間
{
"to":"d_kQKDkq5V4:APA91bG4hIyqbr2a_24nUIe6jVbySS90FMnVKwwuTfG1dV3OooeAc_555XkB2e_h_oWzEOMde8uIt2ESvv_Thl1J1sEXDHWPsLCE7EdMXkZ_AS6xlVq8uJIjVojz1WPxqiUjWZm65Ypf",
"data":{
"title":"App in background again",
"body":"asdsad"
}
}
だから、通知が表示されますが、それは破壊されている間、それは表示されません。アプリが破棄されている間に通知を受信して表示できるようにするにはどうすればよいですか?私はこのアプローチは、カスタムOSの携帯電話上では動作しません見てきました
public void onMessageReceived(RemoteMessage remoteMessage) {
/*String title = remoteMessage.getNotification().getTitle();
String message = remoteMessage.getNotification().getBody();
*/
Log.e("REG_TOKEN",remoteMessage.getData().get("title"));
Map<String,String> data = remoteMessage.getData();
String title = data.get("title");
String message = data.get("body");
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this);
notificationBuilder.setContentTitle(title)
.setContentText(message)
.setSmallIcon(R.mipmap.ic_launcher_round)
.setAutoCancel(true)
.setContentIntent(pendingIntent);
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, notificationBuilder.build());
}
私は優先度を追加しましたが、何も変わっていません。私はまだ通知を受け取ることができません。私は停止状態の質問を見て、ここでstackoverflowで答え始めますが、私は実際にこの作業をするために必要なクラスを取得していないようです。 BroadcastRecieverを使用する必要がありますか? –
アプリを終了したら、_Settings_> _App Manager_に行きます。アプリを見つけ、アプリ情報を見てください。 _Force Stop_ボタンは有効または無効ですか?無効にすると、アプリは停止状態になり、FCMメッセージを開くことでユーザーが停止状態から解除するまで、FCMメッセージは受信されません。 –
力の停止が無効ではない、私はまだそれをクリックすることができます。つまり、それは停止状態ではないということですか? –