Push-уведомления FCM, полученные в двойном размере - PullRequest
0 голосов
/ 01 ноября 2018

Я добавил Firebase в свой проект, как обычно, но на этот раз я столкнулся с проблемами с FCM: когда я отправляю одно уведомление FCM (классический push или с полезной нагрузкой / данными внутри) по определенной теме с консоли, Systray ( как приложение в фоновом режиме) показывает 2 уведомления на моих телефонах Android.

Я уже искал много похожих вопросов по этой проблеме, но ни один из ответов не решил мою проблему:

1) Я не использую следующие разрешения

<uses-permission android:name="mypackage.permission.C2D_MESSAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

<permission
    android:name="mypackage.permission.C2D_MESSAGE"
    android:protectionLevel="signature" />

2) Я попытался удалить ключи SHA-1 (у меня есть 4 ключа, 3 SHA-1 и один SHA-256), чтобы сохранить только один (я думал, что несколько ключей = несколько client_ids = несколько полученных уведомлений), затем сгенерировал новый google-service.json, удалите app / clean / rebuild / install, но я все еще получил 2 уведомления.

3) Я проверил с помощью класса, расширяющего FirebaseMessagingService, и получаю точно такой же push-запрос (та же дата отправки, messageid, тема и т. Д.) 2 раза

Дополнительная информация:

  • Я подписался несколько раз на одну и ту же тему, но я прочитал, что FCM не накапливает номер или подписку для отправки нескольких push-уведомлений пользователям, которые подписались несколько раз
  • Я тестировал только на Android O
  • Я использую следующие версии Google Play Services и Firebase:

    реализация 'com.google.android.gms: play-services: 12.0.0' реализация "com.google.android.gms: play-services-location: 12.0.0" реализация "com.google.firebase: firebase-messaging: 12.0.0" реализация "com.google.firebase: firebase-core: 12.0.0" реализация "com.google.firebase: firebase-auth: 12.0.0" реализация 'com.google.firebase: firebase-invites: 12.0.0'

Я думал, что это могло быть исправлено в более поздних версиях Firebase, но обновление всего до последних версий заставило меня столкнуться с сбоями на Android O (ошибка ориентации экрана), которую я не мог легко исправить (и у меня не было гарантии что это было бы решением).

...