Я делаю приложение чата, пытающееся получить push-уведомление, когда новое сообщение получено от другого пользователя, когда приложение находится в фоновом режиме, используя уведомления об отправке между устройствами Android, используя базу данных Firebase, Cloud Messaging и Node.js.
Я слежу за этим блогом. Здесь
[https://firebase.googleblog.com/2016/08/sending-notifications-between-android.html]
и ниже мой код, который я пробовал.
@Override
public void onClick(View view) {
if (view.getId() == R.id.btnSend) {
String content = editWriteMessage.getText().toString().trim();
if (content.length() > 0) {
editWriteMessage.setText("");
Message newMessage = new Message();
newMessage.text = content;
newMessage.idSender = StaticConfig.UID;
newMessage.idReceiver = roomId;
newMessage.timestamp = System.currentTimeMillis();
FirebaseDatabase.getInstance().getReference().child("message/" + roomId).push().setValue(newMessage);
sendNotificationToUser(newMessage.idReceiver,newMessage.text);
}
}
}
public void sendNotificationToUser(String user, String message) {
Map notification = new HashMap<>();
notification.put("username", user);
notification.put("message", message);
FirebaseDatabase.getInstance().getReference().child("notificationRequests").push().setValue(notification);
}
Используя вышеуказанные коды, имя пользователя и сообщение сохраняются в базе данных в режиме реального времени в уведомлении.
И я действительно не знаю, как можно получить push-уведомление по этой строке кода.
FirebaseMessaging.getInstance().subscribeToTopic("user_"+username);
И самое важное, куда мне нужно поместить приведенный выше код, чтобы он работал.
а также я создал корзину для размещения моего файла node.js.
Заранее спасибо.