![](/img/trans.png)
[英]Unable to send Push notification using WNS on Windows phone 8.1 Silverlight
[英]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¶m2=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¶m2=value2</wp:Param>
&值应进行编码,以便Azure Notification Hub SDK可以正确解析xml,因此我将其更改为
<wp:Param>?param1=value1&param2=value2</wp:Param>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.