我在Azure上设置了移动应用程序,并使用新创建的通知中心配置了推送通知。
到目前为止,我只是按照here上的指南实现了iOS客户端,并且它已成功注册。我可以转到Azure门户并发送测试通知,从我自己的代码发送也可以。
在VS中,我检查了注册的设备并看到以下内容:
两次注册都是针对同一台设备(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}}
答案 0 :(得分:1)
为了接收推送通知设备,我们需要在通知中心创建一个或多个注册。注册设备有两种主要方式。 从设备直接注册到通知中心和registering from your App Backend。我们可以从官方document获得有关注册管理的更多信息。 如果设备使用多个Templates,则必须为每个模板存储一个注册ID 。 以下是文档的片段
如果要使用模板,则每个注册代表一个单独的模板。这意味着如果您的设备使用两个模板,则必须使用自己的PNS句柄和一组标记独立注册每个模板。 对于本机注册(即没有模板),模板的注册方法会创建或更新现有注册。要定位不同的模板,请在注册时提供模板名称。如果要为同一设备维护多个模板,则会提供不同的名称。