簡體   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