我正在将Azure App Service(Node.js)与Notification Hubs结合使用,以便从iOS应用程序注册推送通知。由于标签在具有Node.js后端的App Service中不再可用,我如何针对推送通知针对特定用户。
一旦用户在iOS应用程序中进行了身份验证(即通过Facebook),userId标记就会自动添加到注册中。 当我使用移动服务时,我可以使用以下代码将标签添加到通知中心的设备注册中:
-(void)registerDeviceToken:(nonnull NSData *)deviceToken completion:(nullable MSCompletionBlock)completion;
但新SDK并未提供允许使用标记注册的方法:
- (void)registerNativeWithDeviceToken:(NSData*)deviceToken tags:(NSSet*)tags completion:(void (^)(NSError* error))completion;
我的问题是userId的格式不像Facebook:123456789(与移动服务一样),而是在注册过程中自动生成GUID - 我以后无法存储和查询它发送通知时。
有人可以帮助我如何使用Azure App Service和Notification Hubs以及Node.js向特定用户发送通知吗?
答案 0 :(得分:0)
根据答案,我们知道
默认注册码不允许您故意注册标签
我们可以从How to: Add tags to a device installation to enable push-to-tags in .Net得到提示:
按照上述如何:定义自定义API控制器,您需要在后端设置自定义API以使用通知中心向特定设备安装添加标签。确保传递存储在客户端本地存储上的安装ID和要添加的标记(可选,因为您还可以直接在后端指定标记)。应将以下代码段添加到控制器以与Notification Hub一起使用,以将标记添加到设备安装ID。
在Node.js后端,我们可以利用包含推送通知功能的Azure SDK for Node.js,我们可以在https://github.com/Azure/azure-sdk-for-node/blob/master/examples/notification-hubs.md查看用法。
的源代码存储库中获取send()
函数的详细参考