Облачный обмен сообщениями Firebase — подписка на тему из клиента JavaScript

После долгих мучений я заставил облачный обмен сообщениями Firebase работать с моим JavaScript PWA, и push-уведомления отправляются и принимаются правильно. Однако я создал довольно много облачных функций для управления регистрацией тем (тогда с сервера). Теперь я хотел бы свести к минимуму использование облачных функций и сделать как можно больше из клиента.

Я вижу в здесь, что SDK клиента Android позволяет управлять регистрацией. к темам, но я не могу найти такую ​​документацию для JavaScript SDK - возможно ли это?


person l1b3rty    schedule 13.03.2020    source источник


Ответы (1)


JavaScript SDK для Firebase Cloud Messaging не поддерживает подписку на тему.

Чтобы подписать веб-приложение на тему, вам нужно должны использовать REST API. Поскольку для этого требуется, чтобы вы указали ключ сервера FCM, вам придется делать это из доверенной среды, такой как ваш компьютер для разработки, сервер, которым вы управляете, или облачные функции.

После того, как вы подписали веб-клиент на тему, он может получить сообщение, подобное тому, как это делают iOS и Android.

person Frank van Puffelen    schedule 13.03.2020
comment
Хорошо, что он защищен ключом сервера FCM. Но я прочитал здесь firebase.google.com/docs/cloud-messaging/ android/ что на Android можно. Я что-то упускаю? - person l1b3rty; 05.07.2020
comment
Приложение Android (или приложение iOS) может подписаться на тему, и в этом случае оно свяжет токен FCM для этого экземпляра приложения с темой в этом проекте. В сквозном JavaScript SDK такого API нет, а это значит, что вам придется делать это через REST API на стороне сервера, указав и токен FCM и серверный ключ FCM. - person Frank van Puffelen; 06.07.2020