@kiheye9685

Возможно ли сделать кросс-платформенные PUSH уведомления без использования FCM?

Доброго времени суток, необходимо реализовать 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 и стоит ли вообще заморачиваться и писать своё, если да, то в каком случае?

Спасибо! :)
  • Вопрос задан
  • 163 просмотра
Пригласить эксперта
Ответы на вопрос 2
vabka
@vabka
Токсичный шарпист
Своё имеет смысл писать, если FCM для твоих масштабов выходит сильно дороже кастомного решения.
Заморачиваться много, так что не вижу смысла.
Ответ написан
Комментировать
@Saturnych
1. Можно написать своё. Для сайта вообще легко. Для приложений надо смотреть конкретно.
2. У Huawei свой бесплатный Push-сервис для приложений, размещенных в AppGallery.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы