繁体   English   中英

无法使用Azure.NotificationHubs SDK发送Windows Phone推送通知

[英]Unable to send Windows Phone push notification using Azure.NotificationHubs SDK

我正在使用Microsoft.Azure.NotificationHubs SDK v1.0.8与azure通知中心集成并发送推送。 虽然iOS和Android正常运行,但我的Windows Phone推送在一段时间前停止运行。 那里是我使用的有效负载:

<?xml version="1.0" encoding="utf-8"?>
<wp:Notification xmlns:wp="WPNotification">
   <wp:Toast>
    <wp:Text1>Notification Title</wp:Text1>
    <wp:Text2>Notification Text!</wp:Text2>
    <wp:Param>?param1=value1&param2=value2</wp:Param>
   </wp:Toast>
</wp:Notification>

这是我得到的错误:

System.ArgumentException:有效负载不是接受的XML格式。 第一个节点应该是Tile / Toast。 如果要发送原始通知,请在标题中将“ X-NotificationClass”设置为“ 3”。 在Microsoft.Azure.NotificationHubs.RegistrationSDKHelper.DetectMpnsTemplateRegistationType(String body,String errorMsg)

我尝试直接从Azure门户或Visual Studio发送推送-效果很好。 所以问题出在SDK的某个地方。

本指南说明了如何使用常规的网络请求发送相同的通知,并设置了特殊的标头来发送吐司

sendNotificationRequest.Headers.Add("X-WindowsPhone-Target", "toast");
sendNotificationRequest.Headers.Add("X-NotificationClass", "2");

使用Azure SDK,我无法设置这些标头,并且只能使用以下方法发送有效负载,这给了我上面的错误:

await Hub.SendMpnsNativeNotificationAsync(payload, userIdTag);

我在这里的设置有什么问题?

问题在这一行

<wp:Param>?param1=value1&param2=value2</wp:Param>

&值应进行编码,以便Azure Notification Hub SDK可以正确解析xml,因此我将其更改为

<wp:Param>?param1=value1&amp;param2=value2</wp:Param>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM