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是最頂端。


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