Core Concept-Open Graph 01

FB的核心就是Social Graph,即社交图谱。用户和他们的联系人,以及所有他们关心的事物。最早,FB推出了这么一个图谱,并且随着时间的推移加入了新的产品,比如图片,地理位置。2010年的时候,FB通过使用Open Graph Protocol引入了一个早期版本的Open Graph,它是Social Graph的加强版,可以包含用户们喜欢的第三方网站和页面。现在的Open Graph可以包含第三方应用创建的任何的活动和对象,从而使得这些应用能够深度地被整合进入FB的社交体验。

当用户将你的app加入到他们的Timeline以后,和app相关的行为都会通过Open Graph被分享到FB上面。随着你的app逐渐成为用户表达自己的重要部分,这些行为会被更加突出地通过Timeline,News Feed,和Ticker来显示。如此一来,你的app就成为用户和他们好友的FB体验的重要组成部分。

Open Graph会允许apps通过用户的actions和那些objects来将用户的活动模型化。一个running app可能会定义run(action)和route(object)。一个reading app可能会定义read(action)和book(object)。Actions通常是指用户在apps里面做什么。而Objects定义那些actions适用的名词。FB创建了很多的actions和objects,用于通常使用,还有一个工具能够让你定制化你想要的加入到你的app里面的actions和objects。当用户绑定在你的app上的时候,社交活动会通过你的actions被发布到FB上面来连接你的app和用户的objects。

有了Open Graph,你的app就成为用户身份和Social Graph的一部分。通过一个API,就可以和FB进行深度的整合,从而挖掘出更多的用户,在用户和app之间创建一个深度持久的连接。


1. Key Concepts

构建一个Open Graph app让你有机会将你的app深度整合到FB的核心体验,包括Timeline,News,Feed和Ticker。

1). Actions and Objects

这个是构建Open Graph的基石。Actions是用户能在你的app里面进行的上层的交互。Objects表示用户能在你的app里面交互的内容。以前,用户可以通过使用Like Button来连接你的app里面的内容。现在,除了那个之外,还可以定制属于你的app的特定的actions和objects,模型化用户的交互,从而和用户建立更加深厚的连接。

首先你必须在App Dashboard里面定义你自己的action和object类型。比如,一个running app可以定义"Routes"和"Marathons"作为相关的object类型。"Run"作为action类型。一个cooking app可以定义"Recipe"和"Menu"作为object type,"Cook"作为action type。

一旦你的action types和object types定义好了以后,你需要创建和发布你的objects到Open Graph。Open Graph Objects其实就是包含了有Open Graph信息的<meta>标签的网页,然后嵌入到<head>里面。这些<meta>标签描述object的类型,object的名字,还有其它重要的信息。比如说,要为recipt app创建一个"Stuffed Cookie" object,那么就应该添加一些<meta>标签,这些标签会说明这个object的类型是一个recipe,它的title是"Stuffed Cookies",URL的它的展示图片。

2). Open Graph Mechanics

当用户在你的app里面干了一件事情,比如cook a "Stuffed Cookie",这个app就会调用Graph API来发布一个新的cook action type的实例,这个实例会将用户和一个"Stuffed Cookie"连起来,而"Stuffed Cookie"就是一个recipe的对象实例。这个过程是通过发布一个HTTP POST连带这个recipt的URL到用户的 /me/myapp:cook连接。FB随后就会进入该object页面,并且读取它的元数据,通过这个action将这个object连接到用户那里去。

下面的这个流程表展示了该过程:

a. 用户在该app中做一件事情,比如cook a recipe

b. App调用一个HTTP POST给Graph API终端  /me/appnamesapce:actiontype?objective=Object_URL

c. FB会进入该object页面,读取它的meta tags,然后通过这个action将用户和这个object连接起来。

3).Social Channels

使用一个API,Open Graph actions可以出现在任何Social Channel上面。

a. News Feed and Ticker

当Open Graph actions发布的时候,这个活动可以出现在用户的News Feeds或者他们好友的News Feeds和Ticker上面。

b. Timeline

Timeline可以很好的在FB上展现一个用户的身份。它强调那些用户生活中最重要的时刻,还有apps也是Timeline的一部分。和规定的FB活动显示在Timeline上面的方式一样,用户在第三方apps上面的活动会以Reports和Aggregations的方式显示在Timeline上面,帮助用户构建他们的身份。

c. Aggregations and Reports

Aggregations是一个summary新鲜事,都是你的App定义好的,以一种简单并且有组织的方式展示用户的Open Graph活动。你可以定制化你的app的Aggregations并且使用一些样板数据进行预览。

如果app定义了多种Aggregations,这些就会以Report的形式出现在Timeline上面。Report是一系列aggregations的集合。 Reports显示一段时间之内用户的活动以及和你的app的联系。这样就提供了一个联系的查看体验,也使得用户能够更加容易地消化来自你的app的数据。假如你定义了2个Aggregations,一个叫做我做了什么菜,一个叫做我做什么菜最多。那么这2个东西单独来看就叫Aggregation,放在一起就叫做Report。

d. Timeline Views

这个是app特定的在Timeline上面显示的views。当用户安装了你的Open Graph app并且发布了actions,一个app特定的View就会显示在Timeline是最顶端。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章