Azure通知中心:什么是“本机”和“模板”注册类型?

时间:2017-03-23 15:34:06

标签: azure notifications azure-notificationhub

我在Azure上设置了移动应用程序,并使用新创建的通知中心配置了推送通知。

到目前为止,我只是按照here上的指南实现了iOS客户端,并且它已成功注册。我可以转到Azure门户并发送测试通知,从我自己的代码发送也可以。

在VS中,我检查了注册的设备并看到以下内容:

enter image description here

两次注册都是针对同一台设备(PNS相同),注册ID不同。

如果我通过门户网站测试发送,则会将消息发送到“Native”注册。如果我通过后端发送,它将发送到“模板”。

  • 这两个注册是什么?
  • 为什么根据我发送的地点使用不同的注册?

从我正在使用的代码发送消息:

const string templateBodyAPNS = "{\"aps\":{\"alert\":\"$(messageParam)\"}}"; var templates = new JObject(); templates["genericMessage"] = new JObject { {"body", templateBodyAPNS} }; await push.RegisterAsync(deviceToken, templates);

如上所述,结果详细信息将显示成功交付“模板”注册。

客户端注册如下:

{{1}}

1 个答案:

答案 0 :(得分:1)

为了接收推送通知设备,我们需要在通知中心创建一个或多个注册。注册设备有两种主要方式。 从设备直接注册到通知中心和registering from your App Backend。我们可以从官方document获得有关注册管理的更多信息。 如果设备使用多个Templates,则必须为每个模板存储一个注册ID 。 以下是文档的片段

  

如果要使用模板,则每个注册代表一个单独的模板。这意味着如果您的设备使用两个模板,则必须使用自己的PNS句柄和一组标记独立注册每个模板。   对于本机注册(即没有模板),模板的注册方法会创建或更新现有注册。要定位不同的模板,请在注册时提供模板名称。如果要为同一设备维护多个模板,则会提供不同的名称。