2

Я попробовал образец кода для тестирования системы push-уведомлений с Firebase, и она работает хорошо, кроме одного.Уведомление FCM на стороне сервера тем не получено на клиенте

  • Если я пытаюсь отправить уведомление с консоли Firebase, используя Device Token, уведомление отображается на устройстве.

  • Если я пытаюсь отправить уведомление с консоли Firebase, используя мою тему topik, все уведомления отображаются на всех устройствах.

  • Если я попытаюсь отправить уведомление с моей веб-страницы или с postman, используя Device Token, уведомление отображается на устройстве.

  • Если я пытаюсь отправить уведомление от моей веб-страницы или postman, используя мою тему topik, НИЧЕГО НЕ ПРОИСХОДИТ.

Это пример вызова:

link: https://fcm.googleapis.com/fcm/send 
POST method 

Header field: 
Content-Type : application/json 
Authorization : key=MY_SERVER_KEY (the new one) 

Body: 
{ 
    "to": "/topics/topik", 
    "data": { 
     "title": "This is a Firebase Cloud Messaging Topic Message!", 
     "content-text": "This is a Firebase Cloud Messaging Topic Message!" 
    } 
} 

или

Body: 
{ 
    "to": "/topics/topik", 
    "data": { 
     "message": "This is a Firebase Cloud Messaging Topic Message!" 
    } 
} 

результат на посыла действия что-то вроде этого

{ 
    "message_id": 7150560334538835864 (SUCCESS!) 
} 

, но уведомление не приходит в какой-либо устройство. Я попытался отладить метод onReceive, но ничего не происходит.

Любая идея?

+0

ли ваше клиентское устройство подписался на эту тему? В вашем вопросе нет ничего, чтобы предложить. https://firebase.google.com/docs/cloud-messaging/android/topic-messaging –

+0

Да. Все клиенты подвержены этой теме. Infact, если я пытаюсь передать уведомление из Firebase Console в эту тему, все работает нормально. – Bruno

ответ

1

Вы пытаетесь отправить данные-сообщения или уведомления-сообщения?
см: https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages

Если вы хотите отправить уведомление-сообщения (тип сообщений, отправленных на консоль уведомлений)
полезная нагрузка Вы писали в этом вопросе не так. Попробуйте заменить data с notification:

Body: 
{ 
    "to": "/topics/topik", 
    "notification": { 
     "title": "Hello", 
     "body": "This is a Firebase Cloud Messaging Topic Message!" 
    } 
} 
Смежные вопросы