2017-02-02 8 views
1

WNSからの通知を受け取るC#/ UWPアプリがあり、Azure Notification Hubテストページを使用して生の通知を送信できます。唯一の問題は、ハブにデバイスを登録して、テンプレート通知を送信したときに生の通知を受信できないことです。これは基本的なコードです:Azure通知WNSのハブレジスタ生テンプレート

PushNotificationChannel channel = await PushNotificationChannelManager. 
    CreatePushNotificationChannelForApplicationAsync(); 
NotificationHub hub = new NotificationHub(NotificationSettings.HubName, 
    NotificationSettings.HubListenConnectionString); 
TemplateRegistration registration = await hub. 
    RegisterTemplateAsync(channel.Uri, template, "data", tags); 

私が理解しようとしているのは、テンプレートとしてどの値を生データとして渡す必要があるかです。これは私が登録時に取得エラーです:そのメッセージによって

The bodyTemplate is not in accepted XML format. The first node of the bodyTemplate should be Badge/Tile/Toast, except wns/raw template, which need to be an valid XML 

は明らかに「WNS /生テンプレート」オプションがありますが、私は1つの登録方法には何のドキュメントを見つけることができません。実際の生データの形式はJSONです。デイブ・スミッツからのヘルプから

固定コード:

PushNotificationChannel channel = await PushNotificationChannelManager. 
    CreatePushNotificationChannelForApplicationAsync(); 
NotificationHub hub = new NotificationHub(NotificationSettings.HubName, 
    NotificationSettings.HubListenConnectionString); 
WnsHeaderCollection wnsHeaderCollection = new WnsHeaderCollection(); 
wnsHeaderCollection.Add("X-WNS-Type", @"wns/raw"); 
TemplateRegistration registration = 
    new TemplateRegistration(channel.Uri, template, "test", 
     tags, wnsHeaderCollection); 
Registration r = await hub.RegisterAsync(registration); 

答えて

4

私thinkiは前にこれを持っていました。いくつかのヘッダーを追加する必要があります。これは助けてください:

WnsHeaderCollection wnsHeaderCollection = new WnsHeaderCollection(); 
wnsHeaderCollection.Add("X-WNS-Type", @"wns/raw"); 
WindowsTemplateRegistrationDescription registrationDescription = new WindowsTemplateRegistrationDescription("<channel uri", "<template payload>", wnsHeaderCollection, tags); 
notificationHubClient.CreateRegistrationAsync(registrationDescription); 
関連する問題