Я отправляю уведомления Firebase через свой собственный веб-сервис с PHP, как показано ниже.Уведомления Firebase (FCM) не появляются, когда приложение android удалено из последнего лотка
$url = 'https://fcm.googleapis.com/fcm/send';
$fields = array(
'registration_ids' => $tokens,
'data' => $message
);
$headers = array(
'Authorization:key = SERVER_KEY ',
'Content-Type: application/json'
);
1.Notifications приходит, когда приложение находится в переднем плане и фоне без каких-либо проблем, но если я удалил приложение из недавнего подноса то уведомления не приходят, я должен иметь, чтобы справиться с этим каким-либо решением для этого? (например, Whatsup-уведомления показывают все сценарии, даже я принудительно остановил это приложение из настроек)
2.Once Мне было получено уведомление от «onMessageReceived», как передать это сообщение, содержимое тела для моей активности/фрагментов?
3.В некоторых случаях я хочу отправлять уведомления всем, вместо того, чтобы добавлять все маркеры в массив. любой другой способ обработки, как «отправить ALL», что-то вроде этого?
public class MyFirebaseMessagingService extends FirebaseMessagingService {
private static final String TAG = "MsgService";
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Log.d(TAG, "From: " + remoteMessage.getFrom());
Log.d(TAG, "Data Payload : " + remoteMessage.getData());
sendNotification(remoteMessage.getData().get("message"));
}
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, intent,
PendingIntent.FLAG_ONE_SHOT);
Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle("Firebase Push Notification")
.setContentText(messageBody)
.setAutoCancel(true)
.setSound(defaultSoundUri)
.setContentIntent(pendingIntent);
NotificationManager notificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, notificationBuilder.build());
}
}
Неудачные устройства: (Уведомления не приходят после удалены из Recent лотка)
- MI редми Примечание 2 (5.0.2 Lollipop)
- Huawei честь 5с (5.1.1 Lollipop)
Succeed устройство: (Уведомления пришествия после удалены из Recent лотка)
- HTC One X (4,2 Jelly Bean)
- Samsung Галактика Гранд штрих (4,4 Kitkat)
Я не думаю, что это проблема версии ОС (Lollipop vs Jelly Bean и т. Д.), Скорее всего, проблема в том, разрешено ли службам Google Play запускать приложения, которые были уволены с пользователей. Некоторые производители регулируют это поведение. Я предлагаю подать вопрос с поддержкой firebase, чтобы команда FCM могла глубже проникнуть в устройства, которые не работают должным образом. https://firebase.google.com/support/ –
У меня также проблема с сообщениями данных. И насколько я могу судить, он не работает ни для какой версии Android. Я тестировал на Marshmallow и Lollipop. – rGun
lava Irish x1 также –