【友盟+】开发者社区

“标签(tag)”是什么,如何使用自定义标签?

友盟PUSH 发表于 2017-10-26 12:06:47 |

友盟PUSH
友盟PUSH 发表于 2015-7-2 14:59:51 | 显示全部楼层 |阅读模式
友盟推送支持的筛选维度有“版本”、“渠道”、“地域”、“用户活跃度”等,还有一个叫做“标签”,“标签”是什么含义呢?该如何使用呢? 今天我们和大家聊聊这个话题。


先解释下什么是“标签”:

提问者问到的“标签”其实指的是App开发者结合自有的业务逻辑对该App的终端用户打的“标签”,我们也称tag,这些“标签”是App自己的标签(举个简单的例子,App根据终端用户是否注册,可以给用户打上“注册账号”和“未注册账号”的标签),第三方开发平台是无法直接提供这样的标签的(但是可以开放打标签接口,让App开发者把标签数据回传到第三方服务器上),因为具体的业务逻辑是在App这边的。 第三方开放平台能提供的维度也仅是在用户协议范围内可以收集的字段,比如“版本”、“渠道”、“机型”、“操作系统”等信息,这些维度可以认为是静态的维度,其实App开发者自己也可以收集这些字段,只不过交给第三方平台来做数据收集、存储和计算更为方便,有兴趣的读者可以了解一下友盟推送收集的用户协议字段: 友盟 | 隐私政策

下面我们给大家提供一些有代表性的垂直领域App结合自有业务逻辑给终端用户打标签的思路,希望对大家有帮助:
  • 体育类App可以根据终端用户看过的节目类型,给终端用户打上“足球”、“篮球”等类目标签。
  • 儿童类App可以根据儿童的年龄分布,给终端用户打上“0~1岁”、“1~3”岁、“3~5”岁之类的年龄结构标签。
  • 电商类App可以根据用户的购买习惯推算出用户性别,给终端用户打上“男”、“女”标签。
  • 餐饮类App可以根据用户的下单记录以及点评,给终端用户打上“川菜”、“粤菜”、“韩国料理”等标签。
……

App自有的标签体系对精细化运营来说是必需的,App运营人员可以根据这些用户标签来做精准推送、广告定向投放、活动邀请等运营活动。既然标签这么有用,接下来我们和大家聊聊如何在友盟推送中使用“标签”维度,顺带也回答了提问者的第二个问题。

再来谈谈如何在友盟推送中使用“标签”:

上文提到过虽然第三方开放平台无法直接给App开发者提供“标签”维度,但是可以开放打标签的接口,让开发者把标签数据回传到第三方服务器上。下面给大家讲讲友盟推送开放接口的形式,以及开发者如何使用开放的接口来把标签数据回传到友盟服务器端:

tag开放接口

tag开放接口



图中,黄色部分表示友盟推送提供的模块儿,绿色部分部分表示App开发者自己的模块儿。

方式1(推荐方式): App端直接调用友盟推送SDK提供的tag接口,由SDK负责把标签数据回传到友盟后端服务器。 后期tag(标签)的存储、计算等逻辑都由友盟后端服务器来负责。这种方式是推荐的方式,绝大部分开发者都采用这种打tag的方式。SDK端提供的调用接口有如下几个:

mPushAgent.getTagManager().add("movie","sport");
  • 添加标签
public Result add(String... tags)
  • 删除标签
public Result delete(String... tags)
  • 清除所有标签
public void reset()
  • 更新所有标签
public Result update(String... tags)
  • 获取服务器端的所有标签
public List<String> list()

具体用法请参照我们的集成文档: 友盟消息推送Android文档


方式2: 开发者在自己的服务器上通过调用友盟服务器端提供的开放接口将该标签数据回传到友盟后端服务器,效果和方式1一样。 有这种需求的开发者不是太多,所以我们的文档上没有把这个接口列出来,有需求的开发者可以联系msg-support at umeng dot com来获取这个接口的文档。

通过方式1或者方式2,开发者就把和自己App业务相关的标签属性维度放在友盟平台上了,这样友盟推送间接的提供了“标签”维度,和其它静态维度一样,“标签”可以和这些维度一块儿来使用(App自身业务逻辑结合友盟数据属性),也可以单独来使用(纯App自身业务逻辑),开发者可以利用这些综合维度来做更精准的推送,从而获得更好的推送效果了。关于“精准推送”,感兴趣的读者可以参考我之前写过的一篇文章: 友盟陈漠沙:“精准推送”是怎样炼成的? - 友盟专栏 - 知乎专栏


开发者在使用标签的过程中,可能会碰到这样的问题,就是明明在SDK端已经调用了标签接口,但是在友盟推送后台网站上并没有显示出刚刚打的标签。这里需要和大家解释一下为什么“标签”不能及时展现在我们的网站上,其实还是要区分一下“正式模式”和“测试模式”两种case的,在“测试模式”下,测试设备的标签是及时出现在网站后台的;在“正式模式下”,大概会有5~10分钟的延迟。这是因为数据量规模决定的,测试设备数量少,所以我们能做到实时处理,线上真实设备数据量庞大,计算节点在计算的时候,会有一定的延迟。 所以开发者在集成测试阶段,如果要测试tag功能的话,建议先把测试的设备在“测试模式”下添加为测试设备。关于“测试模式”的更多介绍,请参考友盟推送“测试模式”介绍

最后,欢迎大家关注友盟消息推送的官方微博账号"友盟推送",我们的官微会定期和大家share一些技术干货。








上一篇:广播消息问题
下一篇:用户触发条件推送消息,后端需要注意哪些?




zhaoheng
zhaoheng 发表于 2016-7-12 18:07:35 | 显示全部楼层




骑牛读汉书
骑牛读汉书 发表于 2017-10-26 12:06:47 | 显示全部楼层

请问,iOS这边,addTag报错Error Domain=com.umeng.message.ios Code=4 "(null)",是什么原因?deviceToken是有的
您需要登录后才可以发帖 登录 | 立即注册

本版积分规则

发表主题

精彩推荐

【报错必看】微信您的应用签名不正确,请去微信后台确认
微信如果提示这个错误,请查看debug日志: 箭头所指的为你当前应用的签名及包名,然后打开你的微信后台
无法检测设备有效性
无法检测设备有效性
自定义事件有消息数量,却看不到详情
集成都是OK的,能看到自定义事件的消息数量。却看不到详细的详情。 总是显示数据无法加载,稍后重试。

关注我们

新浪微博
微信

欢迎关注友盟官方微博微信!

在线客服
返回顶部 返回列表