繁体   English   中英

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

[英]Azure Notification Hubs Send Notification to Specific Device

我目前正在使用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 });

但是,这不起作用。 我以为我可以发送类似于post sharp的工作方式的设备标签? 我有些困惑,因为我知道此设备已成功在Azure中的集线器中注册,因为如果我从门户进行测试广播,它将收到通知。 如何修改我的API代码以仅发送到特定设备? 我碰到了这篇文章https://azure.microsoft.com/en-gb/documentation/articles/notification-hubs-aspnet-backend-windows-dotnet-wns-notification/但它看起来很奇怪,因为我已经知道该设备令牌。 是否可以向集线器发送通知并指定设备标签?

您绝对可以只发送deviceToken。 仅当您先在deviceHandle中注册了标签后,标签才起作用。 您发现的文章(以及讨论Google Cloud / Firebase Messaging和iOS的兄弟姐妹)假定您正在使用注册/标签机制。

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

我从面向注册的示例开始,然后转到“直接发送”模型-我们将按照这些思路进行开发。 我还没有iOS实施工作,否则,我将举一个例子。

这些链接可能有助于:

直接发送
(请注意,C# NotificationHubClient类型具有实现Direct Send模型的SendDirectNotificationAsync方法)。
批量直接发送
每消息遥测
带有链接到GitHub示例的所有文章

要使用DirectSend,您需要使用定义的抽象类

Microsoft.Azure.NotificationHubs.Notification

您如何使用此类,需要配置哪些信息才能使其正常工作?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM