Доброго времени суток, необходимо реализовать PUSH уведомления (Web push) на сайте когда пользователь дал разрешение на уведомления (то есть не обычное уведомление, когда пользователь прямо сейчас находится на сайте - это делается в пару строк на JS, а именно то уведомление, на которое пользователь дал разрешение и это уведомление соответственно отображается когда сайт\браузер уже закрыт, то есть по сути отправить с сайта пуш уведомление пользователю, который уже оффлайн на сайте\закрыл браузер например), сделал через FCM (Firebase Cloud Messaging) - получилось удобно и просто, но задался вопросом - возможно ли реализовать "свой FCM" взамен FCM, который работал бы как с устройствами на Android и IOS, так и во всех браузерах (Chrome, FF, Safari и т.д.)?
Есть ли у FCM ограничения по отправке пуш-уведомлений или все бесплатно?
FCM не поддерживат же Huawei сейчас, ничего не поменялось же?
Нашел на гитхабе
https://github.com/web-push-libs/web-push-php но как я понимаю он покроет только Хром, а для android и ios нужно еще искать?
Так же слышал что есть одна отличительная особенность у FCM, которая (как по мне) по сути критична - у FCM (как от лица google) есть возможность пушить сообщения находясь даже в режиме doze, таким образом получается что на андроиды лучше всего спушит только FCM и пока что никак иначе, или я не прав?
Ведь получается что пуш сервис как таковой держится на 4 китах это браузер FF (пуш сервис браузера), Google (он же Андроид, браузер хром и он же FCM), Apple (ios и safari, для них нужно отдельно делать, но опять же можно интегрировать в FCM) и Huawei (по сути телефоны со своим сервисом пуш уведомлений), тогда зачем вообще свой сервис писать, если все пути так или иначе ведут к этим китам и сделать с этим ничего нельзя (не думаю что ios даст апи или же в андроиде появится такая возможность, соответственно как и в браузерах)?
То есть другими словами - например если написать приложение на андроид, то в таком случае можно в нем сделать опрос\вебсокет\keepalive и т.д. чтобы в будущем сделать пуш уведомление, но пуш уведомление с сайта обращается (насколько я понимаю) прежде всего к браузеру, т.е. к приложению к которому нет контроля (Chrome = Google пуш сервис, Safari = IOS пуш сервис, FF = FF пуш сервис), а проблема в том, что супер простых АПИ для этих пуш сервисов нет и получается что FCM в любом случае нужно использовать для гугла, тогда смысл отдельно закладывать силы на реализацию FF и IOS пуш сервиса, если можно оставить в FCM?
То есть по сути FCM практически как прокси до самих сервисов и генерацию ключей он берет на себя, в таком случае еще вопрос - как пользоваться VAPID ключами, не совсем понял... И где брать endpointы для отправки push уведомления сервису (например нашел
https://fcm.googleapis.com/fcm/send, а для других где взять)?
Больше всего меня интересует - есть ли какая-то особенность и приемущество в использование FCM и стоит ли вообще заморачиваться и писать своё, если да, то в каком случае?
Спасибо! :)