Я пытаюсь отправить некоторые данные своим пользователям через новую службу уведомлений Pushbase Firebase.
Я добавляю элементы пользовательских данных "ключ-значение" с "Текст сообщения" - "dbupdate", чтобы определить, есть ли сообщение обновления или обычное push-уведомление, которое я хочу показать своим пользователям.
В моем приемнике я проверяю, есть ли пользовательские данные и запускается обновление, если это правда. Если это не так, я показываю нормальное уведомление с текстовым сообщением.
Работает только при открытии моего приложения. Если приложение закрыто, уведомление показывается в любом случае, а моя проверка 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());
}
}
}
пример notficiation здесь
Почему это так? Что можно сделать для запуска моего кода, даже когда приложение закрыто?