Когда вы отправляете сообщения в чат пользователю, который не находится в вашем мобильном приложении, он получит пуш, как при общении в привычных мессенджерах.
Для работы пушей мы будем использовать Firebase Cloud Messaging (FCM). Если у вас уже есть Firebase-проект с включёнными оповещениями, вы можете пропустить этот шаг.
Придумайте имя для своего проекта и нажмите Create project:
После настройки проекта выберите Cloud Messaging:
Выберите иконку Android:
Укажите package name своего приложения и нажмите Register App:
Нажмите кнопку Download google-services.json, чтобы загрузить файл конфигурации. Поместите этот файл на уровень вашего приложения.
Нажмите "Далее", а в файле build.gradle уровня приложения кроме прочего добавьте зависимость:
dependencies {
implementation 'com.google.firebase:firebase-messaging:17.+'
}
А также подключите плагин в конце (это важно!) того же файла:
apply plugin: 'com.google.gms.google-services'
Нажмите копку "Далее"
В консоли Firebase перейдите в свой проект, перейдите в Project settings, выберите вкладку Service accounts, нажмите на кнопку Generate new private key и в появившемся окне нажмите Generate key. Браузер предложит скачать JSON-файл с ключом.
Управлять созданными ключами вы сможете из настроек Google Cloud Platform. Для этого в консоли Firebase в разделе Service accounts перейдите по ссылке Manage service account permissions.
В Carrot quest перейдите в раздел Настройки → Разработчикам и загрузите ключ.
Иконку уведомлений можно устанавливать используя следующий метод:
Carrot.setNotificationIcon(notificationIconId)
где notificationIconId
- это идентификатор ресурса иконки.
Этот пункт важен для тех приложений, которые уже используют FCM для работы с собственными пушами.
Здесь описано, как изменить свою службу FirebaseMessagingService
public class MyFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onMessageReceived (RemoteMessage remoteMessage) {
if (Carrot.isCarrotPush(remoteMessage)) {
Carrot.sendFirebasePushNotification(remoteMessage, this)
} else {
//Your code
}
}
}
Проверьте эти пункты, если у вас возникли проблемы с настройкой FCM:
Проверьте, что у вас стоит галочка Отправлять пуш-уведомления (Send a push notification), когда вы отправляете ручное сообщение
Проверьте, что на тестовом устройстве не запрещены пуш-уведомления от вашего приложения: Настройки → Уведомления и строка состояния → Диспетчер уведомлений (путь может отличаться в зависимости от версии Android).
Проверьте Push Server API key.
Проверьте, что вы поместили google-services.json в правильную директорию.