一个频道的多个推送注册

Posted

技术标签:

【中文标题】一个频道的多个推送注册【英文标题】:Multiple Push-Registrations for one Channel 【发布时间】:2015-06-23 15:00:50 【问题描述】:

谁能给我一个理由,为什么我可以有多个 registraiontId 用于推送通知通道?这样做的目的是什么?

我已经阅读了很多关于处理推送通知的文章(我使用 azure 服务),但我没有找到原因。我知道,频道会随着时间而改变,然后我需要在我的后端每台设备上更改我的注册 ID 上的频道。

以下方法似乎加载了多个注册。为什么?

await HubClient.GetRegistrationsByChannelAsync("<pnsHandle>", 100)

或者换句话说:渠道和注册之间的主要区别是什么?

我对此有点困惑......谢谢

【问题讨论】:

【参考方案1】:

频道与注册

“通道” 是设备与相应推送通知服务(例如 ios 的 APNS)之间的句柄。将“通道”想象成代表设备。

“注册”,或者更准确地说是“Azure 通知中心注册”,包含用于地址管理设备的数据可以通过频道接收推送通知。

您只能为特定设备上的特定应用程序一个频道,但您可以通过该频道在该设备上为同一应用程序进行多个注册

为什么要进行多次注册?

您不必为每个频道进行多次注册。但是,以下是您可能决定这样做的一些原因。

例如,一个用例是为一台设备提供多个模板注册,并为不同的通知提供特定模板。然后你可以通过标签来区分这些注册。

例如,一个设备/频道可能具有针对社交网络应用的以下通知的特定模板注册:

好友请求(模板参数:好友姓名) 聊天消息(模板参数:发送者姓名,聊天消息) 状态更新(模板参数:好友姓名,状态更新)

另一个用例是为每个想要向您的应用发送推送通知的服务注册一个。

对于特定设备上的特定应用,您只能拥有一个频道,但您可以在该设备上为同一个应用进行多个注册,其中每个注册都由另一个服务管理和使用。

【讨论】:

哇。谢谢...正是我正在寻找的。​​span>

以上是关于一个频道的多个推送注册的主要内容,如果未能解决你的问题,请参考以下文章

技术分享| 基于RTM 实现的呼叫邀请如何添加推送功能?

在 Windows 8.1 频道上使用相同的推送通知频道

Redis 多个订阅者

大量 Win11 内测用户被困在 Dev 开发频道中,修改注册表都没用

使用推送器的存在/私人频道的不同身份验证方法

使用没有错误消息的私人频道时无法从推送者那里获得响应