【问题标题】:How to setup Azure Notification Hub in C# backend如何在 C# 后端设置 Azure 通知中心
【发布时间】:2017-03-05 20:01:08
【问题描述】:

我正在尝试实现我的 C# 后端与通知中心的通信。我已经阅读了几乎所有关于 Azure 通知中心的教程,但我找不到一个像样的教程来解释实际对应的内容。我认为有两种表示设备的方式(据我所知):安装和注册,安装似乎更新且更受欢迎。

但是,当我开始安装时,我会想到更多问题:

InstallationId 是什么?是我创建的东西,还是我从某处(设备或 PNS)获得的东西。

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

PushChannel 是什么?是像InstallationId 一样,是我创造的,还是从某个地方得到的?

模板具体是如何使用的?

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

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

【问题讨论】:

  • 您可能知道有 2 种模型 - 注册和安装,您的设备通过这些模型映射到通知中心。 InstallationId 唯一标识一个安装。整个映射模型称为安装。 Pushchannel 是与给定安装关联的推送通知通道 URI。它由 Windows 推送通知服务 (WNS) 发布。安装必须在应用启动时更新,其中到期时间是一个属性。默认最大值为 90。一种选择是更新通知中心的 TTL,而不是 bit .ly/2efugEB
  • @Aravind 那么哪个属性是实际的推送令牌?
  • 在注册应用时,会提供应用标识符和安全令牌(IOS 中的 APNS 设备令牌或 android 中的 GCM 注册 id)。这是要发送的令牌。而通知中心的授权是通过 SAS 令牌来控制各种权限。
  • @Aravind 是的,我有令牌。但是我要寄到哪里呢? Installation 对象中的哪个变量对应于令牌? (我已经有了令牌)
  • PushChannel对应token。更多详情请见msdn.microsoft.com/library/azure/…

标签: c# azure azure-notificationhub


【解决方案1】:

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

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

this post on templates 有用吗?

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

如果我能澄清其中任何一个,请在 cmets 中告诉我,我会更新答案。

【讨论】:

  • 谢谢。这已经足够了。我希望 Microsoft 的实际文档像您的回答一样清晰。 :)
【解决方案2】:

除了InstallationNotification,实际上还有第三个选项:DirectSend

Direct-Send 技术比InstallationNotification 的抽象更少。使用Direct-Send,您可以直接向一台或多台特定设备发送通知。基本上,您使用实际的deviceToken- 就像@NikitaG 对PushChannel 的注释一样。

如果您需要能够具体决定您的后端应用程序何时推送到特定设备 A 但非 B 与推送到特定设备 B 但非 A 与推送根据某些计划Direct-Send 可以启用特定设备A 和特定设备B。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-07
    • 2015-01-30
    • 1970-01-01
    • 2015-09-19
    • 2018-04-01
    • 2021-05-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多