Служба приложений Azure - отправка push-уведомлений определенным пользователям

Я использую службу приложений Azure (Node.js) в сочетании с центрами уведомлений, чтобы зарегистрироваться для получения push-уведомлений из приложения iOS. Поскольку теги больше не доступны в службе приложений с серверной частью Node.js, как я могу настроить таргетинг на определенных пользователей для push-уведомления.

После аутентификации пользователя (например, через Facebook) в приложении iOS тег 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 для отправки уведомлений определенным пользователям?


person nor0x    schedule 03.03.2016    source источник


Ответы (1)


Аналогичная ветка есть в 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 для вашей информации.

По ответам мы знаем, что

Код регистрации по умолчанию не позволяет вам преднамеренно регистрироваться для тегов.

И мы можем получить подсказку от Как: добавить теги в установку устройства, чтобы включить push-to-теги в .Net:

Следуя приведенному выше Практическому руководству: Определите настраиваемый контроллер API, вы захотите настроить настраиваемый API на своей серверной части для работы с Центрами уведомлений для добавления тегов к установке определенного устройства. Убедитесь, что вы передали идентификатор установки, хранящийся в локальном хранилище клиента, и теги, которые вы хотите добавить (необязательно, поскольку вы также можете указать теги непосредственно на своем сервере). Следующий фрагмент должен быть добавлен к вашему контроллеру для работы с Центрами уведомлений для добавления тега к идентификатору установки устройства.

А в серверной части Node.js мы можем использовать Azure SDK для Node.js, который содержит функции для push-уведомлений, мы можем увидеть их использование на https://github.com/Azure/azure-sdk-for-node/blob/master/examples/notification-hubs.md.

Кроме того, мы можем получить подробное описание функции send() из репозитория исходного кода по адресу https://github.com/Azure/azure-sdk-for-node/blob/master/lib/services/serviceBus/lib/notificationhubservice.js#L116 < / а>

person Gary Liu    schedule 03.03.2016
comment
Спасибо за ответ. Жалко, что по умолчанию регистрация по тегам больше не возможна. - person nor0x; 03.03.2016