是否可以有效地为所有当前注册添加新标签?

问题描述 投票:0回答:1

我目前在通知中心上有160k个有效注册设备。每个人都有一组标签。我在我的应用程序中添加了一项新功能,用户可以打开/关闭此功能的通知。我们目前通过注册标签来管理开/关状态。我们希望默认情况下为每个人部署此功能,这意味着我们需要将此标记添加到每个注册。是否有可能有效地做到这一点?我目前的解决方案花了太长时间:

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?如何通过q​​azxswpoi更新标签而不通过Registration

azure azure-notificationhub
1个回答
0
投票

对你的问题的简短回答是“不”。

每次用户启动会话时,您的应用都会注册其推送令牌吗?如果是这样,最好的方法是在每个用户第一次启动新版本的应用程序时添加标记。

您是否还有一台服务器可以跟踪所有推送注册和用户首选项?如果新功能不依赖于拥有最新版移动应用程序的用户,您还可以使用新的默认设置更新所有用户首选项的表。

© www.soinside.com 2019 - 2024. All rights reserved.