查看: 401|回复: 0

[通用问题] 新浪微博 Link Card 详解

[复制链接]

Rank: 5Rank: 5

主题:
帖子:
积分:
0

[通用问题] 新浪微博 Link Card 详解

[复制链接]
401 0 | 发表于 2017-5-23 14:49:20 |阅读模式 | |
本帖最后由 Donel Chan 于 2017-5-23 14:51 编辑

                                                                                                                                                                                                
什么是Link Card

在微博消息流内,分享一条链接,该链接将解析为包含一个对象数据的特殊短链
且该对象数据可以在微博消息流内显示并交互,这种形态就是微博消息流LinkCard解析.常见的LinkCard有如视频类,商品类等

非Link Card形态
一条微博中如果包含一个链接,将展示为一个短链接,如图:


Link Card形态
如果连该链接被解析为包含一个对象数据的特殊短链,那么该对象数据就可以在微博消息流内以卡片形式显示。这种形态就是微博 消息流 linkcard(链接卡片)解析。
被解析的链接会被替换为miniCard,显示上更丰富有力,点击率更高。在微博正文的下面,一般会解析出 linkcard,可以展示出缩略图、标题、简介等信息。解析效果如图:



linkcard 是接入方网站链接在微博上承载特定功能的必要形式,依赖 linkcard,可以实现视频链接的直接播放、音频链接的直接试听等效果,以及轻应用直接载入。

在用户分享接入方网站的链接到微博上时,我们将通过链接特征,识别出该链接是否属于某个轻应用接入方。对于轻应用接入方的链接,我们将调用该接入方登记的解析回调接口,获取事先约定好格式的对象数据。这些能成功获取到对象数据的链接,就可以在pc端、移动客户端展示成 linkcard,并实现用户点击后可以完成轻应用框架的加载。


优点:接入方只需按标准、规范的流程开发回调接口即可实现快速接入。
缺点:接入方属于被动接入,回调接口有失败率,可能造成个别链接 linkcard 解析不成功。


如何接入 Link Card
Link Card接入方就是指自身网站

接入方需要做的事情

我们先看看 linkcard 的工作流程:


图中的 1、2 具体描述如下:
1、接入方提供解析长 URL 匹配规则
长 URL 匹配规则是一个简单的正则表达式,匹配上的长 URL 在转短链时会当做参数用来调用接入方的对象数据回调接口,即图中的链接域名等特征。
例如,我们要解析某商品为 linkcard,则商品的长链接 URL 是:http://www.productmall.com/sample/256819,那么长 URL 匹配规则应该是:www.productmall.com/sample/。(请注意,http:// 不包含,可变的商品编号也没有包含在内)
2、接入方提供解析对象数据回调接口
该接口由接入方来开发。微博平台在通过上面的长 URL 匹配规则,匹配上的长 URL 在转短链时会调用接入方的这个接口,参数为匹配上的长 URL。
接入方判断参数 URL 为一个正确的需要解析为 linkcard 的页面时,接口返回需要解析的对象数据,理论上不同的参数 URL 返回不同的对象数据。反之,接口返回错误,微博平台将认为这个链接不是正常的 linkcard 对象,转为普通短链,不做 linkcard 解析。

对象数据接口
接口请求方式:GET 接口参数:url,符合匹配规则的长 URL 接口返回值:JSON, JSON数据的具体属性字段见下表:

                                       
                                 11.png

上面的属性中,类型为 object、object array、media link 的,都是包含下一级属性的,具体说明如下:

image(media link)

22.png

tags(object array)
33.png

例如:
接入方提供的长URL匹配规则:www.productmall.com/sample/
示例链接:http://www.productmall.com/sample/256819
接入方提供的对象数据回调接口:http://www.productmall.com/api/get_data?url=
则我们的调用实例将为: http://www.productmall.com/api/g ... uctmall.com%2fsampl e%2f256819
接入方返回数据如下:

1)不接入官方客户端二维码唤起功能
  1. {
  2.         "display_name": "这是商品的标题",
  3.         "image": {
  4.                 "url": "http://www.productmall.com/7272.jpg",
  5.                 "width": 120,
  6.                 "height": 120
  7.         },
  8.         "summary": "这是商品的简介",
  9.         "url": "http://www.productmall.com/sample/256819.html",
  10.         "tags": [
  11.                 {
  12.                         "display_name": "标签1"
  13.                 }
  14.         ],
  15.         "create_at": "2012-10-18",
  16.         "object_type": "product"
  17. }
复制代码

2)接入官方客户端二维码唤起功能(假如接入方申请后,开放平台给接入方分配的域名 id 为1456439003)
  1. {
  2.         "display_name": "这是商品的标题",
  3.         "id": "1456439003:www_productmall_com_sample_256819",
  4.         "image": {
  5.                 "url": "http://www.productmall.com/7272.jpg",
  6.                 "width": 120,
  7.                 "height": 120
  8.         },
  9.         "summary": "这是商品的简介",
  10.         "url": "http://www.productmall.com/sample/256819.html",
  11.         "tags": [
  12.                 {
  13.                         "display_name": "标签1"
  14.                 }
  15.         ],
  16.         "create_at": "2012-10-18",
  17.         "object_type": "product"
  18. }
复制代码

以上即为集成LinkCard的全部内容,另外附上新浪微博方面提供的联系邮箱:

移动SDK中的LinkCard权限需要合作申请,商务对接请发邮件至:yinle@staff.weibo.com
或 线下提交申请,联系 wangwei16@staff.weibo.com







您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

技术支持
免费咨询 | 24小时在线
快速回复 返回顶部 返回列表