Кто-нибудь делал на основе его отправку push сообщений? Конкретно вот это https://firebase.google.com/docs/cloud-messaging/js/client интересует. Раньше я использовал GCM(https://developers.google.com/cloud-messaging/) и все нормально работало(хотя и не очень), но сейчас гугл пишет, что «FCM is the new version of GCM».
Ладно, пошел в консоль, создал проект и добавил веб-приложение, скопировал код, вставил все по инструкции, но весь затык тут
messaging.getToken()
Это промайс, который вечно в состоянии «pending», т.е. не возвращает ни resolve ни reject ни catch.
Ладно, перешел я на АПИ браузера, без прокладки гугла. Начал делать по старому
navigator.serviceWorker.register('/service-worker.js', {scope: '/'}).then(function(e) {
navigator.serviceWorker.ready.then(function(){
e.pushManager.subscribe({
name: "push",
userVisibleOnly: true
}).then(function (s) {
//s.endpoint -- Токен, который мне нужен
// потом идет отправка его на сервер
}
})
}).catch(function(error) {
});
Т.е. я не могу получить токен(endpoint). Работает только в Firefox, в опере хоть ошибку показывает
DOMException: Registration failed - push service not available
Перепробовал уже все, и manifest.json нормальный и serviceWorker регистрируется и в состоянии Running... Удалял кэш, перезагружал браузер. Что ему ещё нужно не понимаю.