标签推送

标签推送

一、需求背景

1.1 背景描述

标签是推送赋予用户或者推送设备的一种特征属性,例如:“男性”,“喜爱足球”等,常见的使用场景是根据特征属性,实现针对特定用户的精准推送,从而提升通知消息的转化率。

个推支持客户将自身应用的标签绑定到个推服务器,以便后续可使用该标签实现精细化推送,辅助精细化运营。同时支持使用个推用户画像基础属性标签(例如用户属性、地区属性的标签)圈选目标用户进行消息推送。

二、功能实现

标签推送之前需要先设置标签,设置标签可以调用客户端api接口,也可以调用服务端api接口;默认一个客户端cid,每天只能修改标签一次,最多设置100个标签;单个标签长度最大为32字符,标签总长度最大为512个字符

2.1 标签设置

开发者可在客户端或者服务端给 cid 设置标签,客户端需要区分 android 和 ios,开发者选择其中一个渠道(客户端或服务端)设置标签即可。

2.2.1 客户端标签设置

Android
类名 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()));

参数:
  • context:应用的 Context
  • tag:用户标签

sn:用户自定义的序列号,用来唯一标识该动作,用户 IntentService 中会回执该结果

iOS
+ (BOOL)setTags:(NSArray *)tags;
+ (BOOL)setTags:(NSArray *)tags andSequenceNum:(NSString *)aSn;

接口调用示例:

[GeTuiSdk setTags:@[@"标签1",@"标签2",@"标签3"]];
[GeTuiSdk setTags:@[@"标签1",@"标签2",@"标签3" andSequenceNum:@"seqtag-1"];
参数:
  • tags:NSString 的对象数组,不能为 nil。只能包含中文字符、英文字母、0-9、+-*.的组合(不支持空格)

aSn:用户自定义的请求序列号,用来唯一标识该动作。若不指定sn,会根据tags自动生成sn。建议每个设置标签操作设置不同的sn标识。

2.2.2 服务端标签设置(RestAPI V2)

  • 接口地址: BaseUrl/user/custom_tag/cid/$cid
  • 请求方式: POST

    Request请求说明:

    路径参数说明(路径中$开头的参数)
名称 类型 是否必须 默认值 说明
cid String 用户标识
Header参数说明
名称 类型 是否必须 默认值 说明
token String 接口访问凭据,获取方式请参考获取鉴权token
  • 参数示例

    {
      "custom_tag": [
          "tag1",
          "tag2"
      ]
    }
    

    请求参数说明

名称 类型 是否必须 默认值 描述
custom_tag String Array 标签列表,标签中不能包含空格

2.2 标签推送

2.2.1 服务端(RestAPI V2)

  • 接口地址: BaseUrl/push/tag
  • 请求方式: POST
  • Request请求说明:
名称 类型 是否必须 默认值 说明
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"
          }
      }
    }
    
    
在这篇文章中: 一、需求背景 二、功能实现
开发者中心 SDK 下载

文档中心搜索

技术
咨询

微信扫一扫

随时联系技术支持

在线
咨询