В настоящее время у меня в концентраторе уведомлений 160 000 активных зарегистрированных устройств.У каждого есть набор тегов.Я добавил новую функцию в свое приложение, и пользователь может включить или отключить уведомление для этой функции.В настоящее время мы управляем состоянием включения / выключения, регистрируя тег.Мы хотели бы развернуть эту функцию по умолчанию для всех, что означает, что нам нужно будет добавлять этот тег к каждой регистрации.Можно ли сделать это эффективно?Мое текущее решение занимает слишком много времени:
var result = await HubClient.GetAllRegistrationsAsync(currentToken, 100);
foreach(var r in result)
{
//get installationId from tags
var id = ...;
var installation = await HubClient.GetInstallationAsync(id);
installation.Tags.Add("newtag");
await HubClient.CreateOrUpdateInstallationAsync(installation);
}
Это занимает слишком много времени и даже приводит к QuotaExceededExceptions
.Есть ли более эффективный способ сделать это?Можно ли избежать звонка GetInstallationAsync
?Возможно получить все Installations
напрямую, вместо того, чтобы пройти через Registrations
?Как насчет обновления тегов через Registration
без прохождения через Installation
?