gpt4 book ai didi

android - 当请求不是来自 Firebase 控制台时,RemoteMessage.GetNotification() 返回 null?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:49:18 27 4
gpt4 key购买 nike

我正在测试 Firebase 云消息传递。

如果我使用 Firebase 控制台发送消息 - 在我的代码中我设置了值的通知对象 - 不是问题:

public override void OnMessageReceived(RemoteMessage message)
{
base.OnMessageReceived(message);

Firebase.Messaging.RemoteMessage.Notification oNotification;

oNotification = message.GetNotification();

我正在使用 http://requestmaker.com/发送通知 - 一切正常 - 它被发送并且我取回了 messageID。

POST /fcm/send HTTP/1.1
Host: fcm.googleapis.com
Accept: */*
Authorization: key=not-a-real-key0omClYhniZaIAercMVzeFHEG508USi8lud9pxC-SzxAAbR2mflAfVNsfrbrsPJxoFYTr15ytRn9aqWSQXm5x00AOwu2Wl6mWwTcm9l6G
Content-Length: 188
Content-Type: application/x-www-form-urlencoded

但是 oNotification = message.GetNotification(); 返回 null。问题是 - 为什么?

最佳答案

您似乎发送了一个 data payload 而不是 notification payload。使用 Firebase 控制台时,发送的消息始终被视为 notification 负载消息(如果您在 Advance Options 中添加了自定义键值对,则为两者的组合)。参见 FCM Message Types .

有可能您在使用请求生成器时仅发送数据 有效负载。在您的代码中,您只处理具有 notification 负载类型的消息:

message.GetNotification();

我不完全熟悉 Android Xamarin,但通常使用 FCM,还有一种方法可以通过调用 RemoteMessage.getData() 来获取 data 有效载荷。 ,如果您决定发送仅数据的有效负载。

关于android - 当请求不是来自 Firebase 控制台时,RemoteMessage.GetNotification() 返回 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41947934/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com