我正在通过我的安卓应用程序使用来自Firebase的云消息传递,我正在尝试接收实时更新,而无需刷新活动并从数据库中获取数据,因此当用户向其他用户发送消息时,最后一个用户将收到通知,有人知道如何引导我朝着正确的方向前进吗?
在 Firebase 服务中,FirebaseMessagingService
您可以以这样一种方式实现该方法onMessageReceived
,以便根据通知中的信息更新聊天。
例如,要从通知消息中获取所需的数据,请执行以下操作:
String sender = null;
int chatId;
String msg = null;
public void onMessageReceived(RemoteMessage remoteMessage) {
//YOU NEED TO USE DATA MESSAGES TO CARRY ALL THE INFORMATION ABOUT THE MESSAGE
Map<String,String> data = remoteMessage.getData();
title = data.get("sender");
msg = data.get("body");
chatId = data.get("chatId");
//this function implements the updating of the chat with the new message received
updateChat(chatId,sender,msg);
}
此代码示例基于如下所示的推送通知消息数据有效负载:
{
"Message": {
"Token": client_device_token,
"Data": {
"sender": "John",
"chatId": chatId_between_me_and_Jhon,
"body": "Hi you, this is John"
}
}
}
方法updateChat(chatId,sender,msg)
的实现由你决定,并取决于应用和数据库的逻辑。