新しい Firebase プッシュ通知サービスを介してユーザーにデータを送信しようとしています。
ユーザーに表示したい更新メッセージまたは通常のプッシュ通知であるかどうかを検出するために、「メッセージ テキスト」-「dbupdate」を含む「キーと値」のカスタム データ項目をいくつか追加しています。
私の受信機では、カスタム データがあることを確認し、真の場合は更新を実行します。そうでない場合は、通常の通知とテキスト メッセージを表示します。
アプリケーションを開いたときにのみ機能します。アプリケーションが閉じられている場合でも、通知が表示され、if チェックも実行されていません。
いくつかのコード:
public class PushMessageService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
Map<String,String> data = remoteMessage.getData();
String link = data.get("link");
String name = data.get("name");
if (link!=null) {
Log.d("link",link);
Log.d("name",name);
UpdateHelper.Go(this, link, name);
}
else {
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_shop_white_24dp)
.setAutoCancel(true)
.setContentTitle(remoteMessage.getNotification().getTitle())
.setContentText(remoteMessage.getNotification().getBody());
NotificationManager mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(5, mBuilder.build());
}
}
}
通知の例は こちら
どうしてこんなことに?アプリケーションが終了してもコードを実行するにはどうすればよいですか?