Как обновить установку, если идентификатор установки неизвестен? - PullRequest
0 голосов
/ 01 мая 2018

Почему-то нельзя загрузить все установки. Итак, как можно обновить шаблон для всех установок, если вы не знаете всех идентификаторов установки?

Конечно, кто-то думал об этом ...?

1 Ответ

0 голосов
/ 02 мая 2018

Существует два варианта использования NotificationHubs: зарегистрировать устройство напрямую в NotificationHub или зарегистрировать устройство через веб-сервер.

Если вы регистрируетесь непосредственно в NotificationHub с устройства, у вас будет плохое время, когда вам нужно обновить шаблон для всех установок. Насколько мне известно, вы SOL в этом случае.

Если вы регистрируетесь в NotificationHub из своего бэкэнда, у вас есть варианты. Вам нужно будет хранить список каждой установки в отдельном хранилище данных. Например, в моем последнем проекте я сохранил таблицу базы данных PushNotificationRegistrations, которая содержала тип PNS (gcm, apns), registrationId (уникальная регистрация устройства из соответствующего PNS), userId (чтобы я мог поменять теги по мере необходимости позже ) и сгенерированный ID установки.

Если вы получили эту информацию для каждой регистрации, вы можете извлечь соответствующие записи из своего хранилища данных, а затем перерегистрировать каждую в NotificationHub в одном большом гигантском декадентском цикле for. Установки являются идемпотентными, поэтому они будут перезаписывать старые шаблоны. Я думаю , что вам нужно убедиться, что ваш InstallationId и ID регистрации совпадают при повторной регистрации.

Я помню, что видел кое-что в REST-документах об использовании конечной точки HTTP PATCH для нацеливания только на части установки, но я не экспериментировал с ними.

...