1

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

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

4

1 回答 1

1

为了删除标签,您只需使用一组包含它的标签来更新注册。例如

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

谢谢,

埃利奥

于 2013-06-04T21:42:48.863 回答