2016-03-03 127 views
0

我正在將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發送通知給特定用戶嗎?

回答

0

在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

相關問題