- PVSM.RU - https://www.pvsm.ru -

Push уведомления в Android с помощью Firebase Cloud Messaging для начинающих

Не так давно Google купили Firebase и теперь на странице с описанием GCM нас встречает радостная новость о том, что пора бы мигрировать на Firebase.

...GCM users are strongly recommended to upgrade to FCM, in order to benefit from new FCM features today and in the future.

В этой статье мы разберем тестовый проект и рассмотрим один подводный камень связанный с иконкой уведомления.

Нам понадобится:

  • Android Studio
  • Код демо-проекта с github [1]
  • 20 минут свободного времени


Шаг 1.

Скачайте демо-проект и откройте его в своей любимой Android Studio.

Шаг 2.

Теперь нам нужно пойти в Firebase console [2] и добавить наш проект.

Push уведомления в Android с помощью Firebase Cloud Messaging для начинающих - 1

Затем нажимаем «Добавьте Firebase в свое приложение для Android».

Push уведомления в Android с помощью Firebase Cloud Messaging для начинающих - 2

Название пакета, если вы все делаете по манула: «com.google.firebase.quickstart.fcm».

На втором шаге скачиваем файл google-service.json и добавляем его к проекту.

Push уведомления в Android с помощью Firebase Cloud Messaging для начинающих - 3

Нажимаем готово, зависимости уже добавлены в тестовом проекте.

Шаг 3.

Подготовительная часть закончена, можно нажимать кнопку «Запустить приложение»

В процессе компиляции вы можете получить 2 ошибки:

Missing api_key/current key with Google Services 3.0.0

В этом случае вам нужно зайти в настройки проекта и перезакачать файл google-service.json. Это странный баг [3], но благо легко лечится.

Вторая ошибка — это:

Failed to resolve: com.google.firebase:firebase-core:9.0.0

Тогда вам нужно обновить Google Play Service и Google Repository. Ссылка на Stackoverflow [4].

После запуска приложения, в Android monitor увидите наш токен. Можно отправляться тестировать. Идем в консоль, ищем наше приложение, и идем в раздел Grow->Notifications:

Push уведомления в Android с помощью Firebase Cloud Messaging для начинающих - 4

Нажимаем создать сообщение:

Push уведомления в Android с помощью Firebase Cloud Messaging для начинающих - 5

Вводим наши данные, нажимаем отправить и наблюдаем в Android monitor как все пришло.

Теперь к самому интересному

Самый частый вопрос: как поменять иконку уведомления, когда приложение работает в бэкграунде?

Дело в том, что когда приложение находится в бэкграунде, то оно отправляется сразу в Notification center, и функция

onMessageReceived

не срабатывает.

Чтобы использовать свои иконки уведомлений, вам нужно посылать сообщение через API, через консоль такая кастомизация на данный момент не работает.

Ссылка на API [5]. Для тестов можно использовать старый-добрый CURL.

Еще одна полезная ссылка [6]

Вот в целом и все, что вам нужно знать чтобы попробовать новые push уведомления.

Автор: svoka

Источник [7]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/android/122996

Ссылки в тексте:

[1] github: https://github.com/firebase/quickstart-android/tree/master/messaging

[2] Firebase console: https://console.firebase.google.com/

[3] баг: http://stackoverflow.com/questions/37317295/missing-api-key-current-key-with-google-services-3-0-0

[4] Stackoverflow: http://stackoverflow.com/questions/37310188/failed-to-resolve-com-google-firebasefirebase-core9-0-0

[5] Ссылка на API: https://firebase.google.com/docs/cloud-messaging/http-server-ref#notification-payload-support

[6] Еще одна полезная ссылка: https://firebase.google.com/docs/cloud-messaging/server#auth

[7] Источник: https://habrahabr.ru/post/302002/?utm_source=habrahabr&utm_medium=rss&utm_campaign=sandbox