2016-10-14 14 views
0

Post SharpがAzureで動作を停止したように見えるので、現在はPostSharpをAzure Notification Hubに置き換えています。私は自分のアプリをセットアップして、デバイスタグをAzureに登録します。私は、Azureポータル放送からプッシュ通知をすべてテストしています。Azure Notification Hubs特定のデバイスに通知を送信する

しかし、Web APIプロジェクトを修正して、特定のデバイスに通知を送信できます。ここで私が持っているコードは、デバイスタグがiPhoneのデバイスタグであるところです:

var alert = "{\"aps\":{\"alert\":\"Hello from .NET!\"}}"; 
     await hub.SendAppleNativeNotificationAsync(alert, new List<string> { deviceTag }); 

これは動作しません。私はちょうどポストシャープの作品と同様にデバイスタグを送ることができると思った?このデバイスがAzureのハブに正常に登録されていることを知っているので、ちょっと混乱しています。なぜなら、ポータルからテストブロードキャストを送信すると通知を受け取るからです。特定のデバイスに送信するようにAPIコードを修正するにはどうすればよいですか?私はこの記事ではhttps://azure.microsoft.com/en-gb/documentation/articles/notification-hubs-aspnet-backend-windows-dotnet-wns-notification/に出くわしましたが、私はすでにデバイストークンを知っているので、それは奇妙に思えます。ハブに通知を送信してデバイスタグを指定することは可能ですか?

答えて

2

あなたは間違いなくdeviceTokenだけで送信できます。タグは、最初にdeviceHandleで登録した場合にのみ機能します。あなたが見つけた記事(およびGoogle Cloud/Firebase MessagingとiOSについて議論している兄弟)は、登録/タグメカニズムを使用していることを前提としています。

deviceTokensと直接話したい場合は、DirectSendまたはBatchSend通知メカニズムを使用できます。 「標準」層では、メッセージごとのテレメトリを使用して、ダイレクト送信またはバッチ送信へのコールの結果を見つけることもできます。

私は登録指向の例題から始めて、「直接送信」モデルに移りました。私たちはそれらの行に沿って開発していきます。私はまだiOSの実装が動作していない、そうでなければ私はあなたにその例を与えるだろう。

これらのリンクは役立つことがあります。

Direct Send
(C#NotificationHubClientタイプは直接送信するモデルを実装SendDirectNotificationAsync方法を持っていることに注意してください)。
Batch Direct Send
Per-Message-Telemetry
Article putting it all together w/ link to GitHub sample

+0

これは参考になりました。私は、直接送信について話していたことがわかりました。それ以外は、セミハックを使ってuserIdのタグを設定して送信しました。 –

+0

@KristianBarrett喜んで助けてください –

0

はDirectSendを使用するには、あなたは、このクラスで作業するにはどうすればよい

Microsoft.Azure.NotificationHubs.Notification 

定義された抽象クラスで作業する必要があり、どのような情報は、このために設定する必要があります正しく働くには?

関連する問題