Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android客户端没有';t推送阿拉伯语通知_Android_Azure_Firebase_Firebase Cloud Messaging_Azure Notificationhub - Fatal编程技术网

Android客户端没有';t推送阿拉伯语通知

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

我用了教程

用于实现客户端推送,但不发送阿拉伯语通知 为了支持阿拉伯语,我必须改变这种方法

我还尝试了json.getBytes(“UTF-8”),但没有发送任何消息,因为(“Windows-1256”)消息已发送,但对显示为“?”的字符进行了错误编码


}

试试这样的方法

 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);