Как отправить уведомление с помощью Cloud Messaging Firebase с сервера - PullRequest
0 голосов
/ 05 сентября 2018

У меня уже есть приложение, и я хочу начать отправлять уведомления пользователям. Я уже настроил все в приложении (используя реагировать нативно) и вручную проверил, могу ли я отправлять уведомления на устройства, и это работает. Теперь я хочу запустить задание на сервере, который отправит сообщение (с токеном устройства) в облачную систему обмена сообщениями в firebase. Я не могу найти много деталей о том, как это сделать. Я хотел бы, чтобы кто-нибудь мог дать мне любое руководство, с которым я могу использовать. мой сервер находится в Kotlin (java тоже может быть хорошим), и я работаю с gradle.

Большое спасибо за помощь

1 Ответ

0 голосов
/ 05 сентября 2018

С Java-сервера вы можете использовать Firebase Admin SDK для отправки сообщений . Из этой документации вытекает этот минимальный пример:

// This registration token comes from the client FCM SDKs.
String registrationToken = "YOUR_REGISTRATION_TOKEN";

// See documentation on defining a message payload.
Message message = Message.builder()
    .putData("score", "850")
    .putData("time", "2:45")
    .setToken(registrationToken)
    .build();

// Send a message to the device corresponding to the provided
// registration token.
String response = FirebaseMessaging.getInstance().send(message);
// Response is a message ID string.
System.out.println("Successfully sent message: " + response);

Обратите внимание, что при этом отправляется сообщение data , так что оно всегда будет доставлено на ваш код , где вы можете решить, отображать уведомление или нет. Чтобы отправить уведомление сообщение, что делает консоль Firebase, вы должны использовать:

Message message = Message.builder()
    .setNotification(new Notification("This is the title", "This is the body"))
    .setToken(registrationToken)
    .build();

Оба они отправляют сообщение на определенный регистрационный токен, то есть только на один экземпляр устройства / приложения. Это означает, что вам нужно будет вести список этих токенов, чтобы вы могли отправлять сообщения в соответствии с вашими потребностями. Например. Обычный способ - хранить токены для каждого пользователя. Пример этого см. В functions-samples repo . Хотя этот пример находится в Node.js, ту же логику можно применить к серверу Java.

Наконец: вы также можете отправлять сообщения по темам. В качестве примера этого (опять же: с использованием сервера Node.js) посмотрите этот пост в блоге Отправка уведомлений между устройствами Android с помощью базы данных Firebase и Cloud Messaging .

...