SNS平台通常有各种格式的feed,如果考虑到feed需要在平台自身、扩展应用及第三方应用或客户端展示的话,通常需要一个统一的规范,而不是发布者本身随意输出最终展示的文字。而且也需要考虑图片、视频等在feed中的统一定义。在facebook它是这样实现的
- feed是自描述的,即它不是由生产者决定最终格式,也不是前端决定。而是通过template机制来进行。
- template在平台中可以由开发者注册,注册时需要定义字段及最终展示样式,如
{*actor*} 在斗地主游戏中升到 {*credit*} 级
- 发布的feed内容仅包含字段数据,也就是变量的值,json格式。
{"credit": "80"}
- 前端需要显示feed时候调用feed模板,再替换字段得到feed内容
Tim 在斗地主游戏中升到 80 级
- 模板需要定义两个,模板标题及模板内容(展示feed详细内容),前端根据需要决定只显示标题还是全部都显示。
- “target”, “actor”是系统保留字段,代表目标对象和当前用户,{*actor*}必须放在模板标题开始位置。
- “images”, “flash”, “mp3″, “video” 是系统保留字段,无需在模板中定义。但这些内容只会在详细feed界面输出。即只要feed内容里面有这个字段值,界面就会自动显示。
- facebook文档中没有规定feed长度限制。
- 每个开发者最多只能注册100个模板。