本文档介绍如何使用标签管理接口为设备绑定和解绑标签。
标签管理须知
支持范围:可以向设备、账号和别名绑定和解绑标签。绑定类型由参数 target 指定。
标签数量限制:一个应用最多可以定义 10,000 个标签。每个标签的最大长度是 128 个字符(中文字符算作一个字符)。
生效时间:绑定和解绑操作将在 10 分钟内生效。
性能建议:不建议在单个标签上绑定超过 100,000 个设备,这可能导致推送处理时间较长,响应速度无法保障。在这种情况下,建议使用全推方式,或者将设备集合拆分成更细粒度的标签,多次调用推送接口分别推送。
标签解绑:解绑标签仅解除设备和标签的绑定关系,不等同于删除标签。当前系统不支持删除标签。
查询支持:目前,仅支持查询当前设备绑定的标签。
绑定标签
用于将一个或多个标签绑定到指定目标。
接口定义
+ (void)bindTag:(int)target
withTags:(NSArray *)tags
withAlias:(NSString *)alias
withCallback:(CallbackHandler)callback;
参数说明
参数 | 类型 | 是否必须 | 说明 |
参数 | 类型 | 是否必须 | 说明 |
target | int | 是 | 目标类型。可选值:
|
tags | NSArray<NSString *> | 是 | 标签数组。 |
alias | NSString | 否 | 待绑定标签的别名,仅当target=3时生效。 |
callback | Block | 否 | 操作结果回调。 |
解绑标签
用于解除指定目标的标签绑定。
接口定义
+ (void)unbindTag:(int)target
withTags:(NSArray *)tags
withAlias:(NSString *)alias
withCallback:(CallbackHandler)callback;
参数说明
参数 | 类型 | 是否必须 | 说明 |
参数 | 类型 | 是否必须 | 说明 |
target | int | 是 | 目标类型。可选值:
|
tags | NSArray<NSString *> | 是 | 标签数组。 |
alias | NSString | 否 | 待解绑标签的别名,仅当target=3时生效。 |
callback | Block | 否 | 操作结果回调。 |
查询标签
用于查询目标绑定的标签。目前仅支持查询设备标签。
接口定义
+ (void)listTags:(int)target
withCallback:(CallbackHandler)callback;
参数说明
参数 | 类型 | 是否必须 | 说明 |
参数 | 类型 | 是否必须 | 说明 |
target | int | 是 | 目标类型可选值:
|
callback | Block | 否 | 操作结果回调。 |
使用示例
CloudPushSDK.listTags(1) { res in
if res.success {
var tags: [String] = []
if let data = res.data as? String, data.count > 0 {
tags = data.components(separatedBy: ",")
}
print("同步设备标签成功 \(tags)")
} else {
if let error = res.error {
print("同步设备标签失败 \(error)")
}
}
}
[CloudPushSDK listTags:1 withCallback:^(CloudPushCallbackResult *res) {
if (res.success) {
NSArray<NSString *> * tags;
if ([res.data length] > 0) {
tags = [res.data componentsSeparatedByString:@","];
}
NSLog(@"同步设备标签成功 %@", tags);
} else {
NSLog(@"同步设备标签失败 %@", res.error);
}
}];
- 本页导读 (0)
- 标签管理须知
- 绑定标签
- 接口定义
- 参数说明
- 解绑标签
- 接口定义
- 参数说明
- 查询标签
- 接口定义
- 参数说明
- 使用示例