Azure应用服务 - 向特定用户发送推送通知

问题描述:

我正在将Azure应用服务(Node.js)与通知中心结合使用来注册iOS应用的推送通知。由于标签在具有Node.js后端的App Service中不再可用,因此如何将特定用户作为推送通知的目标。Azure应用服务 - 向特定用户发送推送通知

一旦用户在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应用服务通知中心和Node.js发送通知给特定用户吗?

在MSDN上有类似的线程在https://social.msdn.microsoft.com/Forums/azure/en-US/ed5327f6-6f0a-4cbc-91d4-74a9885e2131/nodejs-after-i-upgraded-my-ios-app-from-mobile-services-to-app-services-i-cant-register-for?forum=azuremobile为您的信息。

每答案,我们知道

默认注册码不允许您为标签故意

报名,然后我们可以从How to: Add tags to a device installation to enable push-to-tags in .Net得到暗示:

以上内容如何:定义自定义API控制器,您需要在后端设置自定义API以使用通知集线器将标签添加到sp独特的设备安装。确保传递存储在客户端本地存储上的安装ID和要添加的标签(可选,因为您也可以直接在后端指定标签)。应将以下代码片段添加到您的控制器中,以使用通知中心将标签添加到设备安装ID。

而且在Node.js的后端,我们可以利用Azure SDK for Node.js其中所包含的功能,以推送通知,我们可以看到https://github.com/Azure/azure-sdk-for-node/blob/master/examples/notification-hubs.md使用。

此外,我们可以在https://github.com/Azure/azure-sdk-for-node/blob/master/lib/services/serviceBus/lib/notificationhubservice.js#L116

+0

得到源代码库send()功能的详细参考谢谢你的答案。遗憾的是,默认情况下,无法再使用标签进行注册。 – nor0x