Android客户端没有';t推送阿拉伯语通知
我用了教程 用于实现客户端推送,但不发送阿拉伯语通知 为了支持阿拉伯语,我必须改变这种方法 我还尝试了json.getBytes(“UTF-8”),但没有发送任何消息,因为(“Windows-1256”)消息已发送,但对显示为“?”的字符进行了错误编码Android客户端没有';t推送阿拉伯语通知,android,azure,firebase,firebase-cloud-messaging,azure-notificationhub,Android,Azure,Firebase,Firebase Cloud Messaging,Azure Notificationhub,我用了教程 用于实现客户端推送,但不发送阿拉伯语通知 为了支持阿拉伯语,我必须改变这种方法 我还尝试了json.getBytes(“UTF-8”),但没有发送任何消息,因为(“Windows-1256”)消息已发送,但对显示为“?”的字符进行了错误编码 }试试这样的方法 var payload = new { to = fcm_token, priority = "high", content_availa
}试试这样的方法
var payload = new
{
to = fcm_token,
priority = "high",
content_available = true,
notification = new
{
body = data.body,
title = data.content,
badge = 1,
targetScreen = data.TargetScreen,
Id = data.Id
},
};
var msg = JsonConvert.SerializeObject(payload).ToString();
var buff = Encoding.UTF8.GetBytes(msg);
request.GetRequestStream().Write(buff, 0, buff.Length);
其中有效负载是您将发送到firebase的对象您可以尝试使用阿拉伯语字符进行测试发送吗?我很高兴它会起作用的。这意味着服务器支持它。这意味着代码中的序列化或可能代码文件本身编码错误。另外,为什么要通过RESTAPI发送请求?有一个问题。是的,我已经尝试过了,它很有效,我知道在这个方法中对消息本身进行编码的问题,以及您在这里发布的通知中心的Java SDK,与我在问题中提到的教程中使用的方法相同^^
var payload = new
{
to = fcm_token,
priority = "high",
content_available = true,
notification = new
{
body = data.body,
title = data.content,
badge = 1,
targetScreen = data.TargetScreen,
Id = data.Id
},
};
var msg = JsonConvert.SerializeObject(payload).ToString();
var buff = Encoding.UTF8.GetBytes(msg);
request.GetRequestStream().Write(buff, 0, buff.Length);