标签(tag)相关接口

绑定标签

为设备添加标签,可以实现按标签的定向消息推送。

重要
  • 支持向设备、账号和别名绑定标签,绑定类型由参数target指定。

  • App最多支持定义1万个标签,单个标签支持的最大长度为129字符。

  • 绑定标签在10分钟内生效。

  • 不建议在单个标签上绑定超过十万级设备,否则,发起对该标签的推送可能需要较长的处理时间,无法保障响应速度。此种情况下,建议您采用全推方式,或将设备集合拆分到更细粒度的标签,多次调用推送接口分别推送给这些标签来避免此问题。

bindTag

接口定义

void bindTag(int target, String[] tags, String alias, CommonCallback callback)

所属类

CloudPushService

参数说明

参数

类型

是否必须

说明

target

int

目标类型可选值:

  • 1:本设备

  • 2:本设备绑定的账号

  • 3:别名

目标类型可选值(SDK版本V2.3.5及以上版本):

  • CloudPushService.DEVICE_TARGET:本设备

  • CloudPushService.ACCOUNT_TARGET:本账号

  • CloudPushService.ALIAS_TARGET:别名

tags

String[]

标签(数组输入)

alias

String

别名,仅当target=3时生效

callback

CommonCallback

回调

代码示例

PushServiceFactory.getCloudPushService()
    .bindTag(CloudPushService.DEVICE_TARGET, arrayOf(tag), null, object : CommonCallback {
        override fun onSuccess(s: String) {}
        override fun onFailed(errorCode: String, errorMsg: String) {}
    })
PushServiceFactory.getCloudPushService().bindTag(CloudPushService.DEVICE_TARGET, new String[]{tag}, null, new CommonCallback() {
    @Override
    public void onSuccess(String s) {

    }

    @Override
    public void onFailed(String errorCode, String errorMsg) {

    }
});

解绑标签

解绑指定目标的标签。

重要
  • 支持解绑设备、账号和别名的标签,解绑类型有参数target指定。

  • 解绑标签只是解除设备和标签的绑定关系,不等同于删除标签,即该App下标签依然存在,系统当前不支持删除标签。

  • 解绑标签在10分钟内生效。

unbindTag

接口定义

void unbindTag(int target, String[] tags, String alias, CommonCallback callback)

所属类

CloudPushService

参数说明

参数

类型

是否必须

说明

target

int

目标类型可选值:

  • 1:本设备

  • 2:本设备绑定的账号

  • 3:别名

目标类型可选值(SDK版本V2.3.5及以上版本):

  • CloudPushService.DEVICE_TARGET:本设备

  • CloudPushService.ACCOUNT_TARGET:本账号

  • CloudPushService.ALIAS_TARGET:别名

tags

String[]

标签(数组输入)

alias

String

别名,仅当target=3时生效

callback

CommonCallback

回调

代码示例

PushServiceFactory.getCloudPushService()
    .unbindTag(CloudPushService.DEVICE_TARGET, arrayOf(tag), null, object : CommonCallback {
        override fun onSuccess(s: String) {}
        override fun onFailed(errorCode: String, errorMsg: String) {}
    })
PushServiceFactory.getCloudPushService().unbindTag(CloudPushService.DEVICE_TARGET, new String[]{tag}, null, new CommonCallback() {
    @Override
    public void onSuccess(String s) {

    }

    @Override
    public void onFailed(String errorCode, String errorMsg) {

    }
});

查询标签

查询目标绑定的标签,当前仅支持查询设备标签。

listTags

接口定义

void listTags(int target, CommonCallback callback)

所属类

CloudPushService

参数说明

参数

类型

是否必须

说明

target

int

目标类型可选值:

  • 1:本设备

目标类型可选值(SDK版本V2.3.5及以上版本):

  • CloudPushService.DEVICE_TARGET:本设备

callback

CommonCallback

回调。查询结果可从回调onSuccess(response)的response中获取。

代码示例

PushServiceFactory.getCloudPushService()
    .listTags(CloudPushService.DEVICE_TARGET, arrayOf(tag), null, object : CommonCallback {
        override fun onSuccess(s: String) {}
        override fun onFailed(errorCode: String, errorMsg: String) {}
    })
PushServiceFactory.getCloudPushService().listTags(CloudPushService.DEVICE_TARGET, new String[]{tag}, null, new CommonCallback() {
    @Override
    public void onSuccess(String s) {

    }

    @Override
    public void onFailed(String errorCode, String errorMsg) {

    }
});