【问题标题】:Push notification using cloud messaging firebase使用云消息传递 Firebase 推送通知
【发布时间】:2018-04-10 13:46:33
【问题描述】:

我在我的 android 应用程序中使用来自 firebase 的云消息传递,我试图在不刷新活动并从数据库中获取数据的情况下接收实时更新,因此当用户向另一个用户发送消息时,最后一个用户将收到通知,有人知道如何指导我正确的方向吗?

【问题讨论】:

  • 你想做类似whatsapp的事情吗?
  • 嘿werokk!您如何在云消息传递中实现通知,您是否在不运行服务的情况下完成了? ,请回复我有一些疑问!
  • 是的,比如whatsapp
  • 我使用 firebase 数据库服务和云消息传递,因此消息存储在数据库中,这就是我从中获取它们的地方!

标签: android firebase firebase-cloud-messaging


【解决方案1】:

在 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) 方法的实现取决于您,取决于您的应用程序和数据库的逻辑。

【讨论】:

    猜你喜欢
    • 2016-12-13
    • 1970-01-01
    • 2017-11-18
    • 2020-08-14
    • 2016-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多