Android - Firebase FCM и эмуляторы Android Studio, прерывистое поведение - PullRequest
0 голосов
/ 29 октября 2018

Я еще не совсем уверен, почему, но кажется, что когда я использую службы Firebase FCM и у меня на Android Studio работает 2 или более эмуляторов, поведение Firebase FCM API сходит с ума.

Поток

Быстрый пример:

1 - подписаться на тему

FirebaseMessaging.getInstance().subscribeToTopic(topicName).addOnCompleteListener...

2 - отправлять сообщения (пока все хорошо, я получаю все сообщения)

3 - Отписаться FirebaseMessaging.getInstance().unsubscribeFromTopic(topicName).addOnCompleteListener...

4 - отправлять сообщения (пока все хорошо, я больше не получаю сообщений)

Проблема:

Когда я повторяю одно и то же с двумя или более устройствами, оно просто не работает, хотя я получаю ответ от метода addOnCompleteListener, скажем, «отписался», я все еще получаю сообщения.

Замечания:

1 - Да, я уверен, что я отменяю подписку только на одно устройство между двумя, и одно, которое я отписываюсь, продолжает получать сообщения (я вижу в файлах журнала).

2 - Нет, проблема не возникает, когда я использую только один эмулятор

3 - Я уже пытался использовать реальное устройство в режиме отладки (подключен через USB-кабель, и у меня все еще такое же поведение при работе параллельно с другим эмулятором)

4 - Да, я уверен, что получаю ответ от метода FirebaseMessaging.getInstance().unsubscribeFromTopic(topicName) перед отправкой сообщений.

Технические характеристики:

Android Studio: 3.1.2

Firebase:

implementation 'com.google.firebase:firebase-core:16.0.4'

implementation 'com.google.firebase:firebase-messaging:17.3.3'

Мое предположение

Что-то не так между идентификацией более чем одного эмулятора, когда он работает параллельно, и поэтому API тем Firebase не может точно определить, какой именно.

Есть мысли?

Приветствия заранее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...