azure - 如何删除Azure通知中心上的用户标签?

标签 azure apple-push-notifications azureservicebus azure-notificationhub

我如何删除带有标签的设备,意味着我有ios设备 token 和设备注册的标签,我需要从后端删除该用户?

以及我如何访问用户详细信息列表,例如按标签计数或/和注册到 Azure 通知中心的设备 token ?

最佳答案

要删除标签,您只需使用一组包含该标签的标签更新注册即可。例如

SBRegistration* toUpdate = [hub retrieveNativeRegistrationWithError: nil];
[[toUpdate tags] addObjectsFromArray: @[@"myNewTag1", @"myOtherNewTag"]];
[hub updateRegistration:toUpdate];

或异步:

[hub retrieveNativeRegistrationWithCompletion:^(SBRegistration* r, NSError* e) {
    if (r == nil) ; // error handling
    [[r tags] addObjectsFromArray:@[@"myNewTag", @"myOtherNewTag"]];
    [hub updateRegistration:r completion:^(SBRegistration* r2, NSError* e) {
        // error mgmt;
    }];
}];

另请注意,当您调用 createNativeRegistration 时,您将覆盖当前的标记集。这种命名不一致问题将在下一版本的 iOS SDK 中得到修复。

目前您无法按标签检索计数,但(从后端)您可以使用标签检索所有注册(一种低效的计数方式)。 您可以使用后端 .NET SDK 来完成此操作:

var skip = 0;
var increment = 100;
IEnumerable<RegistrationDescription> regs = hubClient.GetRegistrationsByTag("myTag", skip, increment);
while (regs.Count() != 0)
{
    foreach (var i in regs)
    {
        // do work
    }
    skip += increment + 1;
    regs = hubClient.GetRegistrationsByTag("myTag", skip, increment);
}

或者使用我们的 REST 表面:GetRegistrationsByTag

谢谢

埃利奥

关于azure - 如何删除Azure通知中心上的用户标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16922670/

相关文章:

Azure CDN 未正确提供我的 .html

ios - 地理推送通知取决于客户端下载应用程序的位置

azure - 部署 Azure 逻辑应用和服务总线模板

c# - 我看到我的 Azure 服务总线队列被自动删除

azure static web app + github = 无法合并任何 PR,获取 "deployment_token was not provided",但在对 main 进行正常提交时会进行部署

asp.net-mvc - Orchard CMS "Microsoft Azure Media Storage"模块无法连接到新的存储帐户

json - 从 Cosmos DB 对象数组中选择值

swift - 在不点击它们的情况下解析 iOS 后台通知

android - 请求 Cordova iOS 和 Android 的推送通知权限?

azure - 使用什么 Azure 消息服务?