В одном из приложений необходимо реализовать доставку оповещений с сервера на клиент. В сервере заключена определенна логика + база данных (говорю не просто так). Во время изучения этой темы я узнал, что GCM является... "legacy.. kind of.. feature" и что вместо него рекомендуется использовать некий Firebase, однако начав разбираться в нем я понял, что он содержит в себе далеко не только функцию доставки оповещений до клиента, но и кучу другого ненужного (для меня в данном приложении) функционала типа встроенной базы данных и бог знает чего еще. Собственно в связи с этим у меня возник (как мне кажется) вполне адекватный вопрос - а надо ли оно вообще?
Факты, говорящие в пользу его использования:
+ Рекомендации google, которые четко говорят "If you are integrating messaging in a new app, start with FCM"
+ Возможно, более быстрая доставка сообщений? Этот фактор является решающим, но информации относительно скорости я не нашел
+ Просто более свежая технология
Факты, говорящие в необходимости отказа от FCM:
- Больше изучать в связи со всем этим функционалом (но раньше я не использовал ни FCM, ни GCM)
- Больший вес приложения (не критично)
- Лишний функционал
- Может что-нибудь еще появится
- Меньше информации (просто по тому что технология появилась позже)
FCM == GCM
Просто его сделали частью firebase. Туда же засунули и рекламу и ещё наверное что-то.
Если вам не надо ничего другого из firebase (реал тайм база, хранилище и т.д.) не подключайте библиотеки к проекту и все. Есть возможность подключить исключительно FCM.
Вы забыли упомянуть в минусах Firebase то, что он не бесплатен (при определенном количестве траффика). Если бюджет не критичен - используйте его, в будущем на его основе можете сделать кучу крутых штук. На счет лишнего функционала - почему это минус? Просто не используйте его. Наоборот, этот "лишний" функционал можно будет использовать в будущем, скажем, при внедрении новых фич.
Но, если же вам нужна только доставка сообщений, и вы на 100% уверены, что большего функционала не потребуется - используйте GCM. Он прост во внедрении и прекрасно справляется со своими задачами.