0

Microsoft.Azure.NotificationHubs SDK v1.0.8を使用して、空白通知ハブと統合してプッシュを送信しています。 iOSとAndroidは正常に動作しますが、私のWindows Phoneはしばらく前に動作を停止します。そこ私が使用するペイロード:Azure.NotificationHubs SDKを使用してWindows Phoneプッシュ通知を送信できません

System.ArgumentExceptionの:ペイロードが認められたXML形式ではありませんが

<?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> 

そして、ここでは私が取得していますエラーです。 最初のノードはタイル/トーストである必要があります。未処理の通知を送信する場合は、 ヘッダーに「X-NotificationClass」を「3」に設定してください。 Microsoft.Azure.NotificationHubs.RegistrationSDKHelper.DetectMpnsTemplateRegistationType(文字列 体、文字列errorMsg内容)

で私は紺碧のポータルまたはVisual Studioから直接プッシュを送信しようとした - それが正常に動作します。だから問題はSDKのどこかにあると思います。

This guideは、通常のWebリクエストを使用して同じ通知を送信する方法を示し、特別なヘッダはトーストにAzureのSDKで

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

を送信するように設定されている私は、セットアップへの道にこれらのヘッダを持っていないだけで、次の方法を使用することができます私のペイロードを送信すると、上記のエラーが表示されます。

await Hub.SendMpnsNativeNotificationAsync(payload, userIdTag); 

私の設定で間違っている可能性がありますか?

答えて

1

の問題は、XMLが正しくAzureの通知ハブSDKによって解析することができるよう

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

&値はエンコードする必要があり、このラインにあったので、私は

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

にそれを変更しました
関連する問題