Azure通知中心将通知发送到特定设备

Lei*_*ski 2 azure xamarin.ios ios azure-notificationhub

我正在使用Azure Notification Hub替换PostSharp,因为post sharp似乎已停止在Azure中工作.我已经设置了我的应用程序并将其设备标记注册到Azure.我已经测试了从Azure门户广播到所有的推送通知,它的工作原理.

但是,我想修改我的Web API项目,以便我可以向特定设备发送通知.到目前为止,我所获得的代码是设备标签是iPhone的设备标签:

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

但这不起作用.我以为我可以发送类似于后​​期锐利工作的设备标签?我有点困惑,因为我知道这个设备已成功注册Azure中的集线器,因为如果我从门户网站进行测试广播,它会收到通知.如何修改我的API代码以发送到特定设备?我偶然发现了这篇文章https://azure.microsoft.com/en-gb/documentation/articles/notification-hubs-aspnet-backend-windows-dotnet-wns-notification/,但它似乎很奇怪,因为我已经知道了这个设备令牌.是否可以向集线器发送通知并指定设备标签?

How*_*man 6

你绝对可以使用deviceToken发送.标签仅在您首先使用deviceHandle注册时才有效.您找到的文章(以及它的兄弟姐妹讨论Google Cloud/Firebase Messaging和iOS)假设您正在使用注册/标记机制.

您不需要这样做 - 如果您只想直接与deviceTokens对话,可以使用DirectSend或BatchSend通知机制.在"标准"层,您还可以使用按消息遥测来查找直接或批量发送调用的结果.

我从注册导向示例开始,然后转到"直接发送"模型 - 我们将按照这些方式进行开发.我还没有iOS实现工作,否则我会给你一个例子.

这些链接有助于:

直接发送
(请注意,C#NotificationHubClient类型具有SendDirectNotificationAsync实现直接发送模型的方法).
批量直接发送
按消息 - 遥测
文章将所有内容放在一起w /链接到GitHub示例