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
  • 20 хвилин вільного часу

Крок 1.

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

Крок 2.

Тепер нам потрібно піти в Firebase console і додати наш проект.



Потім натискаємо «Додати Firebase в свій додаток для Android».



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

На другому кроці завантажуємо файл google-service.json і додаємо його до проекту.



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

Крок 3.

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

В процесі компіляції ви можете отримати 2 помилки:

Missing api_key/current key with Google Services 3.0.0
 

У цьому разі вам потрібно зайти в налаштування проекту і перезакачать файл google-service.json. Це дивний баг, але благо легко лікується.

Друга помилка — це:

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

Тоді вам потрібно оновити Google Play Service і Google Repository. Посилання на Stackoverflow.

Після запуску програми в Android monitor побачите наш токен. Можна вирушати тестувати. Йдемо в консоль, шукаємо наш додаток, і йдемо в розділ Grow->Notifications:



Натискаємо створити повідомлення:



Вводимо наші дані, натискаємо відправити і спостерігаємо в Android monitor як все прийшло.

Тепер до найцікавішого

Найчастіший питання: як поміняти іконку повідомлення, коли додаток працює в бекграунді?

Справа в тому, що коли додаток знаходиться в бекграунді, то воно відправляється відразу в Notification center, і функція

onMessageReceived

не спрацьовує.

Щоб використовувати свої іконки повідомлень, вам потрібно надсилати повідомлення через API, через консоль така кастомізація на даний момент не працює.

Посилання на API. Для тестів можна використовувати старий-добрий CURL.

Ще одна корисна посилання

Ось загалом і все, що вам потрібно знати щоб спробувати нові push повідомлення.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.