标签是推送赋予用户或者推送设备的一种特征属性,例如:“男性”,“喜爱足球”等,常见的使用场景是根据特征属性,实现针对特定用户的精准推送,从而提升通知消息的转化率。
个推支持客户将自身应用的标签绑定到个推服务器,以便后续可使用该标签实现精细化推送,辅助精细化运营。同时支持使用个推用户画像基础属性标签(例如用户属性、地区属性的标签)圈选目标用户进行消息推送。
标签推送之前需要先设置标签,设置标签可以调用客户端api接口,也可以调用服务端api接口;默认一个客户端cid,每天只能修改标签一次,最多设置100个标签;单个标签长度最大为32字符,标签总长度最大为512个字符
开发者可在客户端或者服务端给 cid 设置标签,客户端需要区分 android 和 ios,开发者选择其中一个渠道(客户端或服务端)设置标签即可。
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public int setTag(Context context,Tag[] tag, String sn) |
接口调用示例:
String[] tags = new String[] {"tag1", "tag2", "tag3"};
Tag[] tagParam = new Tag[tags.length];
for (int i = 0; i < tags.length; i++) {
Tag t = new Tag();
//name 字段只支持:中文、英文字母(大小写)、数字、除英文逗号和空格以外的其他特殊符号,具体请看代码示例
t.setName(tags[i]);
tagParam[i] = t;
}
PushManager.getInstance().setTag(context, tagParam, String.valueOf(System.currentTimeMillis()));
sn:用户自定义的序列号,用来唯一标识该动作,用户 IntentService 中会回执该结果
+ (BOOL)setTags:(NSArray *)tags;
+ (BOOL)setTags:(NSArray *)tags andSequenceNum:(NSString *)aSn;
接口调用示例:
[GeTuiSdk setTags:@[@"标签1",@"标签2",@"标签3"]];
[GeTuiSdk setTags:@[@"标签1",@"标签2",@"标签3" andSequenceNum:@"seqtag-1"];
aSn:用户自定义的请求序列号,用来唯一标识该动作。若不指定sn,会根据tags自动生成sn。建议每个设置标签操作设置不同的sn标识。
/user/custom_tag/cid/$cid
POST
Request请求说明:
名称 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|
cid | String | 是 | 无 | 用户标识 |
名称 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|
token | String | 是 | 无 | 接口访问凭据,获取方式请参考获取鉴权token |
参数示例
{
"custom_tag": [
"tag1",
"tag2"
]
}
请求参数说明
名称 | 类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
custom_tag | String Array | 是 | 无 | 标签列表,标签中不能包含空格 |
/push/tag
POST
名称 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|
token | String | 是 | 无 | 接口访问凭据,获取方式请参考获取鉴权token |
body参数说明:
content-type:application/json;charset=utf-8
参数示例:
{
"request_id":"请填写requestid",
"group_name":"请填写任务组名",
"settings":{
"ttl":3600000
},
"audience":{
"tag":[
{
"key":"custom_tag",
"values":[
"0901","0902"
],
"opt_type":"or"
}
]
},
"push_message":{
"notification":{
"title":"请填写通知标题",
"body":"请填写通知内容",
"click_type":"url",
"url":"https//:xxx"
}
}
}