如何在C#后端

时间:2016-10-24 06:10:11

标签: c# azure azure-notificationhub

我正在尝试实施C#后端与Notification Hub的通信。我几乎阅读了有关Azure Notification Hub的每个教程,但我找不到一个体面的教程来解释实际上与什么相对应的内容。我认为有两种表示设备的方式(来自我所理解的):安装和注册,安装似乎更新,更受欢迎。

然而,当我进入安装时,我脑子里会有更多问题:

什么是InstallationId?这是我创建的东西,还是我从某处获得的东西,无论是设备还是PNS。

我需要设置ExpirationTime,还是默认为最长(它说90天是最长的)?如果我希望它超过90天怎么办?

什么是PushChannel?它就像InstallationId一样,是我创造的东西,还是某个地方的东西?

模板是如何准确使用的?

在所有这些变量中,哪一个是我在客户端获得的实际设备推送令牌?

我通常不会问那些寻求教程答案并且有多个问题的问题,但是我试图在任何地方进行搜索,但我搜索得越多,就会越复杂我甚至不知道从哪里开始。对于任何想要学习通知中心的人来说,任何答案都是一个很好的起点,就像我一样。

2 个答案:

答案 0 :(得分:3)

InstallationId是设备令牌/密钥/通道等之上的抽象。它是您在安装设备时创建的 创建的唯一ID(如果您的操作系统是用户/平台允许多个用户使用单独的令牌)。这是一个可用于将标签,模板等与设备关联的ID。您创建一次安装,然后将id保留在本地存储中的某个位置,然后根据需要更新与id关联的安装。

您无需明确设置ExpirationDate。我认为过去在大多数平台过去的令牌都是过期的,所以这是一种让Notification Hub知道何时不尝试推送令牌的方法。我相信现在情况并非如此。因此,如果通知中心无法多次向设备发送通知,它只会自行删除注册。

this post on templates有用吗?

PushChannel stands for'如果为WNS注册安装,则为通道URI;设备令牌,如果注册APNS。'

如果我能澄清其中的任何内容,请在评论中告诉我,我会更新答案。

答案 1 :(得分:1)

InstallationNotification之外,实际上还有第3个选项:DirectSend

Direct-Send技术的抽象 少于InstallationNotification。使用Direct-Send,您可以直接向一个或多个特定设备发送通知。基本上你使用实际的deviceToken - 就像@NikitaG为PushChannel所说的那样。

如果您需要能够明确决定后端应用程序何时推送到特定设备-A-but-not-B而不是推送到特定设备-B-but-not-A vs.根据某些时间表Direct-Send,特定设备A和特定设备B可以启用。

我在Azure Notification Hubs Send Notification to Specific Device列出了一些讨论Direct-Send的资源。