2016-08-30 3 views
1

Я начал с topic 'a', который работал отлично.
Через день или два я попытался отправить другое сообщение и заметил, что тема a сообщений больше не принимается.
Я добавил подписку на новую тему, b прямо под заголовком a подписки, а также на тему b сообщений, полученных без проблем.Конкретные сообщения темы FCM не принимаются в приложении

FirebaseMessaging.getInstance().subscribeToTopic("a"); 
FirebaseMessaging.getInstance().subscribeToTopic("b"); 

Я также удостоверился, что в любом месте нет вызова «отписаться».
Я пробовал отправлять сообщения с использованием обеих Firebase Console & Почтовые запросы в соответствии с HTTP-api, оба работали по теме b и не работали по теме a.

Как я могу отладить это? (Сообщения не попадает в устройство ..)

ответ

0

Вы можете увидеть, что подписки существуют на сервере для устройства с помощью этой команды CURL:

curl --header "Authorization: key=<yourServerKey>" 
    --header "Content-Type: application/json" 
    https://iid.googleapis.com/iid/info/<deviceToken>?details=true 

где: <yourServerKey> доступна из Firebase консоли настройки проекта для облачных сообщений, а <deviceToken> - это токен 152-char, возвращенный FirebaseInstanceId.getInstance().getToken() (documentation here).

Вы звоните subscribeToTopic() каждый раз, когда ваше приложение инициализируется?

Я уверен, что подписка больше не действует, если токен устройства изменяется. Во время тестирования что-либо привело к тому, что device ID или токен изменились после того, как вы подписались на тему «a»?

+1

Я не стал расследовать эту проблему, я просто изменил название темы с 'a' на' a1', и все работает. Скорее всего, это проблема с сервером/сервисом. – SagiLow

Смежные вопросы