资讯动态
开发者中心
关于我们
联系客服

操作指南

2020-05-11 11:54:39
操作指南

标签功能使用

标签是精准推送中会用到的功能,开发者可以调用移动推送(TPNS)SDK 或服务端 API,为设备绑定一个/多个标签。在完成绑定之后,就可以针对标签来进行推送,方便进行更精细化的运营。

标签推送场景

赛事订阅通知

某直播 App 10月24日18:00有一个足球比赛直播,10月20日开始开放直播预约,希望在直播开始前,给订阅这个节目的用户推送直播即将开始的通知。
在用户订阅这个节目时,可以将这个节目的主题"10241800足球"作为标签和这个用户设备 token 进行绑定,当直播快开始时,选择"足球"这个标签进行比赛即将开始的推送,当比赛完毕后,再调用 TPNS 的解绑标签接口,将"10241800足球"标签和设备 token 进行解绑。

续费通知

应用 A 希望对3天后会员到期的用户推送续费通知,假设当前某设备 token 绑定的标签为"football"和"deadline:20200210",用户在2020年2月9号续期了一个月,则此时需用"deadline:20200310"的标签将"deadline:20200210"替换掉,即 deadline 这个标签类别只能有一个值(最新值),此时可调用 TPNS 提供的 kv 覆盖接口,在不影响其他标签的情况下,解绑"deadline:20200210"标签之后,再绑定"deadline:20200310"标签,推送时(可设置定时推送),选择标签为当天时间+3天的标签,如当天日期是20200307,则可选择标签为"deadline:20200310"进行续费通知的推送。


标签概览

TPNS 目前提供了两大类标签功能,包括用户自定义标签和 TPNS 平台侧维护的预设标签,标签类别如下图所示:

小讯鸽

使用前准备


自定义标签管理

自定义标签是指用户可根据自身业务场景,自定义设备标签名字的标签设置方式。

自定义标签使用场景及关键字

标签推送适用于标签绑定设备多(一般绑定设备数超过10个),且推送频次较少(一般该标签的日推送数不超过10次)的场景,针对绑定设备数较小且推送频次较多的标签推送场景,推荐使用账号推送,即通过账号绑定多个设备,用账号替代标签来进行推送。

关键字
冒号":"是标签绑定时的关键字,用户标签的 key-value 分割,例如用户给某个设备 token 打了"level:3"的标签,则 TPNS 后台会将"level"作为这个标签的 key,"3"作为标签的 value,这个不影响用户的实际推送,还是按"level:3"这个标签来推,key-value 方式存储主要是方便后续的同类标签的覆盖,如这个设备 token 还绑定了其他标签,如"male",即此时该设备对应两个标签,"male"和"level:3",如果这个设备对应的会员等级升级到4级了,用户希望用"level:4"标签来覆盖"level:3"标签,而不影响"male"标签,此时可直接调用 kv 覆盖接口来给这个设备设置"level:4"标签,这个设备 token 所绑定的标签则变为"male"和"level:4"。

绑定/解绑标签

TPNS 提供了单标签绑定/解绑单设备,单标签绑定/解绑多设备,多标签绑定/解绑单设备,多标签绑定/解绑多设备的接口。

单标签单设备

推荐场景

  1. 调用终端 SDK 接口,如 App 内自动获取用户订阅频道,对该频道标签和设备 token 进行绑定,反之进行解绑。

  2. 非频繁的调用 Rest API 接口,如接入测试时的调用。

标签绑定用法

{"operator_type": 1,"platform": "android","tag_list": ["tag"],"token_list": ["token"]
}

标签解绑用法


{"operator_type": 2,"platform": "android","tag_list": ["tag"],"token_list": ["token"]
}


使用限制

  • 每个标签最大50个字节。

  • 接口调用逻辑为同步。

多标签单设备

推荐场景

  1. 调用终端 SDK 接口,如 App 内自动获取用户特征信息,如年龄,省份,性别等标签信息,对这些标签和用户设备 token 进行绑定,反之进行批量解绑。

  2. 调用 Rest API 接口,如 App 运营人员从公司内其他渠道获取该设备对应的订阅信息,如单身,爱好足球,喜欢看电影等,对这些标签和该用户设备 token 进行绑定,反之进行批量解绑。

标签绑定用法

{"operator_type": 3,"platform": "android","tag_list": ["tag1","tag2"],"token_list": ["token"]
}

标签解绑用法

{"operator_type": 4,"platform": "android","tag_list": ["tag1","tag2"],"token_list": ["token"]
}

使用限制

  • 每个标签最大50个字节。

  • 每次调用标签数量最大500个。

  • 接口调用逻辑为同步。

单标签多设备

推荐场景
此时只能调用 Rest API 接口,如 App 运营人员希望给所有爱好足球的用户打上足球的标签,则可利用此接口进行批量绑定,反之进行批量解绑。

标签绑定用法

{"operator_type": 7,"platform": "android","tag_list": ["tag"],"token_list": ["token1","token2"]
}

标签解绑用法

{"operator_type": 8,"platform": "android","tag_list": ["tag"],"token_list": ["token1","token2"]
}

使用限制

  • 每个标签最大50个字节。

  • 每次调用设备 token 数量最大500个。

  • 接口调用逻辑为同步。

多标签多设备

推荐场景
此时只能调用 Rest API 接口,如 App 运营人员希望给喜欢足球的用户打上足球的标签,喜欢篮球的用户打上篮球的标签,则可以利用此接口进行批量绑定,反之进行批量解绑。

** 标签绑定用法**

{"operator_type": 9,"platform": "android","tag_token_list": [{"tag":"tag1","token":"token1"},{"tag":"tag2","token":"token2"}]
}

标签解绑用法

{"operator_type": 10,"platform": "android","tag_token_list": [{"tag":"tag1","token":"token1"},{"tag":"tag2","token":"token2"}]
}

使用限制

  • 每个标签最大50个字节。

  • 每次调用设备token数量最大500个。

  • 接口调用逻辑为同步。

标签覆盖

TPNS 提供了两种标签覆盖方式,一是普通覆盖,二是按标签类别进行覆盖,又名 kv 覆盖,此时":"号为关键字,作为 key-value 值的分割符。

普通覆盖

推荐场景

  1. 调用终端 SDK 接口,如该设备所订阅的所有频道信息已经失效,则需要对这些频道标签和设备进行一一解绑,但需将这些频道标签遍历出来在逐个解绑,则会很不方便,故此时可调用这个接口进行覆盖。

  2. 调用 Rest API 接口,如 App 运营人员希望给设备重新设置标签,不想让这个设备受到之前标签的干扰,故可调用这个接口进行覆盖。

标签覆盖用法

{"operator_type": 6,"platform": "android","tag_list": ["test", "level:1",, "level:2"], 
"token_list": ["token"]
}

使用限制

  • 每个标签最大50个字节。

  • 接口调用逻辑为异步,建议调用的频率间隔1秒以上。


推荐场景

  1. 调用终端SDK接口。

  2. 调用Rest API接口。

使用说明:以":"进行分割,":"前作为标签类别,":"后面的作为这个标签具体的值,例如 level:2表示该设备所在的等级为2级,假如这个设备对应的等级升级到3级,则需要先删除level:2标签,在添加level:3标签,如果客户明确知道这个设备仅有level:2这一个标签,则可调用普通覆盖接口进行覆盖,但往往一个设备会对应多个标签,如该设备还对应一个test标签,此时要精确删除level:2标签,就需要客户维护该设备对应的全部标签,或者调用信鸽tpns接口把该设备对应的历史标签查找出来再进行删除,这就带来很多的不方便,故可调用此接口,仅进行level类标签的覆盖。

标签覆盖用法

{"operator_type": 6,"platform": "android","tag_list": ["test:2", "level:3"], 
"token_list": ["token"]
}

接口说明:当且仅当 tag_list 内全部标签都带有":"时,才会进行 kv 覆盖,例如该 token 已有 test,level:1标签,调用此接口后,该 token 的标签列表则变为 test, test:2, level:3。
使用限制

  • 每个标签最大50个字节。

  • 每次调用标签数量最大500个。

  • 接口调用逻辑为异步,建议调用的频率间隔1秒以上。

删除标签场景

TPNS 提供了两种删除标签的方式,一是删除单设备对应的全部标签,二是删除应用对应的某标签。

删除单设备对应的全部标签

推荐场景

  1. 调用终端 SDK 接口。

  2. 调用 Rest API 接口。

使用说明: 可利用此接口将设备对应的全部历史标签删除,一般针对设备对应的过期标签,或由于运营人员操作失误,希望重新对设备进行标签设置的场景。

标签删除用法

{"operator_type": 5,"platform": "android", 
"token_list": ["token"]
}

使用限制

  • 每个标签最大50个字节。

  • 接口调用逻辑为异步,建议调用的频率间隔1秒以上。

删除应用对应的某标签

推荐场景
(1)此时只能调用 Rest API 接口
说明:可利用此接口将应用对应的某些标签进行删除,即对这些标签与对应绑定的设备进行全部解绑之后,在从应用的标签列表中移除,一般应用在一些彻底废弃的标签,如测试时引入的一些test标签,在正式上线之后,将这些test标签移除。
标签删除用法

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

使用限制

  • 每个标签最大50个字节。

  • 每次调用标签数量最大500个。

  • 接口调用逻辑为异步,建议调用的频率间隔1秒以上。

预设标签管理

  • 预设标签是指 TPNS 平台侧维护的标签,即在用户设备注册或连接到 TPNS 服务器时 SDK 自动采集的标签信息,目前 TPNS 平台维护的预设标签包括:App 版本,系统版本,省份,活跃信息,系统语言,SDK 版本,国家&地区,手机品牌,手机机型。

  • 每个设备只会绑定最新的预设标签,并会进行自动互斥,如某设备的 App 版本当前为1.0.1,当这个设备的 App 版本升级到1.0.2时,则会自动将该设备和1.0.1版本标签进行解绑,并重新对该设备和1.0.2版本标签进行绑定。