亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

獨(dú)立ActionScript分析工具和技術(shù)的制作方法

文檔序號:6454620閱讀:314來源:國知局
專利名稱:獨(dú)立ActionScript分析工具和技術(shù)的制作方法
獨(dú)立ActionScript分析工具和技術(shù)
背景技術(shù)
通常通過可商業(yè)獲得的web分析服務(wù)對經(jīng)由瀏覽器進(jìn)行的網(wǎng)站使 用進(jìn)行有規(guī)律地跟蹤和分析,所述web分析服務(wù)收集與網(wǎng)頁使用有關(guān)的 詳細(xì)數(shù)據(jù)以及某種程度上關(guān)于特定網(wǎng)站用戶的詳細(xì)數(shù)據(jù)。 一個(gè)主要的 web分析提供商是本發(fā)明的所有人一一猶他州奧勒姆的Omniture公司。 Omniture以其著名的商標(biāo)SiteCatalystTM提供web分析技術(shù)。這里所使用 的所有其它商標(biāo)均為其各自所有人所擁有。
Flash呈現(xiàn)是使用Macromedia/Adobe軟件所創(chuàng)建的交互式動(dòng)畫; FLASH是Adobe系統(tǒng)公司的注冊商標(biāo)。 一 些Flash呈現(xiàn)包括以被稱作 ActionScript的計(jì)算機(jī)編程(腳本)語言所實(shí)現(xiàn)的對象。ActionScript語 言的一些特征與其它計(jì)算機(jī)語言相同,并且尤其與如所知的JavaScript (SunMicroSystems公司的商標(biāo))那樣的腳本語言相同。然而,不僅是 作為編程語言,而且作為開發(fā)環(huán)境和執(zhí)行環(huán)境,ActionScript和JavaScript 之間也存在顯著的差異。
在歷史上,JavaScript代碼被嵌入在一些網(wǎng)頁中,以通過因特網(wǎng)將 使用和配置數(shù)據(jù)從客戶端web瀏覽器發(fā)送到分析服務(wù)器,來幫助對網(wǎng)站 及其網(wǎng)頁的使用進(jìn)行跟蹤和分析。Flash呈現(xiàn)中的ActionScript代碼與 JavaScript代碼一起被用于網(wǎng)頁中,以向分析服務(wù)器發(fā)送Flash呈現(xiàn)使用 數(shù)據(jù)。ActionScript代碼能夠使用ActionScript函數(shù)getURL()或 FSCommand等與JavaScript進(jìn)行通信。例如,F(xiàn)lash呈現(xiàn)中的ActionScript 對象可以使用諸如以下的ActionScript調(diào)用向JavaScript函數(shù)發(fā)送數(shù)據(jù)

getURl("javascript:xyz(mydata),,)
使用getURL()進(jìn)行Flash跟蹤具有一些優(yōu)點(diǎn),同時(shí)也具有一些缺點(diǎn)。在積極方面,如果某人已經(jīng)使用了JavaScript代碼,則其能夠自動(dòng)調(diào)節(jié) (leverage)網(wǎng)頁上所設(shè)置的變量??梢酝ㄟ^更新JavaScript代碼來進(jìn)行 修改,而無需對Flash呈現(xiàn)進(jìn)行更新??梢允褂矛F(xiàn)有的ActionScript結(jié)合 JavaScript的技術(shù)來提供用于Flash呈現(xiàn)分析的Omniture ClickMap (Omniture公司的商標(biāo))視覺分析覆蓋報(bào)告(visual analytics overlay reporting)。如果開發(fā)人員理解JavaScript,包括所討論的特定JavaScript 代碼和環(huán)境的細(xì)微差別的話,則Flash呈現(xiàn)跟蹤也相對容易實(shí)現(xiàn)。例如, 在Omniture的情況下,這樣的細(xì)微差別包括理解Flash調(diào)用重新執(zhí)行 JavaScript,以使得再次將所有先前設(shè)置的變量發(fā)送給分析服務(wù)器,除 非其被清除;理解必須對定制鏈路跟蹤配置linkTrackVars和 linkTrackEvents以進(jìn)行工作;并且理解Omniture當(dāng)前用于Flash實(shí)現(xiàn)的 Cli ckMap 使用JavaS cript來通信并且依賴于用于數(shù)據(jù)傳輸?shù)臑g覽器層 級代碼。
在消極方面,與web開發(fā)人員通常不同的Flash開發(fā)人員必須理解 這樣的細(xì)微差別。對Flash的測試還需要JavaScript代碼處于適當(dāng)?shù)奈恢谩?此外,F(xiàn)lash僅能夠引用網(wǎng)頁上觸發(fā)Flash呈現(xiàn)的JavaScript,這限制了跟 蹤和測試。由于調(diào)試包含F(xiàn)lash呈現(xiàn)和JavaScript代碼兩者,所以調(diào)試復(fù) 雜。從Flash呈現(xiàn)所調(diào)用的JavaScript執(zhí)行會(huì)產(chǎn)生動(dòng)畫效果問題,損害用 戶體驗(yàn)。同樣,JavaScript的onClick()命令在Internet Explorer瀏覽器中 產(chǎn)生點(diǎn)擊聲并導(dǎo)致Flash動(dòng)畫效果延遲。而且,Internet Explorer瀏覽器 限制了可傳送數(shù)據(jù)的數(shù)量,在一個(gè)版本中,每個(gè)getURL()請求僅508個(gè) 字符,這限制了多變量跟蹤。JavaScript代碼經(jīng)由getURL()被調(diào)用,并 且如果對getURLO的后續(xù)調(diào)用和先前調(diào)用在時(shí)間上過于接近,則后續(xù)調(diào) 用可能取消之前的調(diào)用。
可能以前已經(jīng)傳送了一些與Flash呈現(xiàn)相關(guān)的信息而沒有使用 JavaScript代碼。Omniture已經(jīng)為其客戶提供了一種分析數(shù)據(jù)結(jié)構(gòu),所 述客戶能夠使用所述分析數(shù)據(jù)結(jié)構(gòu)來構(gòu)建靜態(tài)分析字符串以通過因特 網(wǎng)直接從應(yīng)用進(jìn)行發(fā)送。已經(jīng)能夠使用ActionScript來發(fā)送該靜態(tài)分析字符串而無需通過JavaScnpt代碼。這提供了一些與Flash呈現(xiàn)的使用相 關(guān)的有限數(shù)據(jù)。使用網(wǎng)頁中所嵌入的JavaScript代碼發(fā)送與所述網(wǎng)頁相 關(guān)的分析數(shù)據(jù)。然而,分析數(shù)據(jù)具有相對少的值,除非其與唯一訪問 者ID相關(guān)聯(lián),并且現(xiàn)有方法無法輕易將Flash相關(guān)的活動(dòng)與觸發(fā)Flash呈 現(xiàn)的網(wǎng)頁的訪問者ID相匹配。所述方法也是靜態(tài)的,而不是在用戶與 Flash呈現(xiàn)進(jìn)行交互時(shí)提供動(dòng)態(tài)生成的分析信息。
此外,在英國、西班牙和美國設(shè)有辦公室的Sophus有限公司(網(wǎng) 站為sophus3. com )顯然已經(jīng)開始從ActionScript代碼將變量中的Flash播 放器版本信息發(fā)送到服務(wù)器,而不使用getURL()來調(diào)用JavaScript代碼。 然而,還不清楚Sophus以不使用JavaScript的方式向分析服務(wù)器發(fā)送用 戶交互數(shù)據(jù)。此外,Sophus顯然沒有使用獨(dú)立于對象的ActionScript跟 蹤代碼來捕捉關(guān)于和Flash對象的用戶交互的數(shù)據(jù)。
在歷史上,跟蹤諸如在Flash呈現(xiàn)中的按鈕或電影剪輯之類的特定 對象涉及為每個(gè)被跟蹤對象添加特定的跟蹤代碼。例如,該特定于對 象的代碼會(huì)調(diào)用getURl(),或者會(huì)更新定制的特定于對象的跟蹤變量, 其稍后被i:送給分析服務(wù)器。這種方法的缺點(diǎn)^于如果將另一個(gè)對象 加入Flash呈現(xiàn),則其不會(huì)被跟蹤,除非添加了進(jìn)行該操作的特定代碼 并然后對Flash呈現(xiàn)進(jìn)行重構(gòu)。
雖然通常從網(wǎng)頁觸發(fā)Flash呈現(xiàn),但是它們也可以在以下任一種或 所有兩種意義上單獨(dú)呈現(xiàn)。首先,即使Flash播放器一般被提供為在瀏 覽器內(nèi)部運(yùn)行的瀏覽器插件,其也能夠在計(jì)算機(jī)上在web瀏覽器之外運(yùn) 行。因此,即使在沒有運(yùn)行瀏覽器的時(shí)候也值得對Flash使用進(jìn)行跟蹤。 第二,能夠在沒有網(wǎng)絡(luò)連接,具體地在沒有到web的連接的情況下,運(yùn) 行Flash播放器。CD、 DVD和其它可移動(dòng)計(jì)算機(jī)可讀存儲介質(zhì)可以由存 儲在它們上的Flash呈現(xiàn)(也可能是Flash播放器)進(jìn)行配置。實(shí)際上, Flash播放器可以在不必是通用計(jì)算機(jī)的移動(dòng)設(shè)備上運(yùn)行。因此,即使 在沒有網(wǎng)絡(luò)連接并由此沒有選擇時(shí),至少在通過網(wǎng)絡(luò)向分析服務(wù)器發(fā)送所收集的分析數(shù)據(jù)時(shí),也值得對Flash使用進(jìn)行跟蹤。作為替代,分 析數(shù)據(jù)可以本地存儲,以便在稍后傳送給分析服務(wù)器或者僅僅用于本 地使用。
簡言之,雖然通過調(diào)用具有ActionScript getURL()函數(shù)的JavaScript
代碼來跟蹤Flash呈現(xiàn)使用具有一些優(yōu)點(diǎn),并且盡管這樣做是一種完善 的方法,但是也值得考慮其它方法。 l
與本發(fā)明相關(guān)的其它概念可通過該背景技術(shù)之外的其它來源得知 或變得顯而易見,包括但不限于連同本專利申請記錄的引用?!?br>
發(fā)明內(nèi)容
本發(fā)明提供了用于在諸如Flash和Flex呈現(xiàn)軟件(Flash和Flex是 Adobe系統(tǒng)公司的商標(biāo))的ActionScript應(yīng)用中進(jìn)行獨(dú)立分析的工具和技 術(shù)。 一個(gè)實(shí)施例提供了能夠獨(dú)立于網(wǎng)頁腳本進(jìn)行操作的呈現(xiàn)分析引擎, 包括數(shù)據(jù)捕捉代碼,其用于捕捉反映呈現(xiàn)中的用戶動(dòng)作的呈現(xiàn)分析 數(shù)據(jù);數(shù)據(jù)結(jié)構(gòu)生成代碼,其用于動(dòng)態(tài)生成格式化的呈現(xiàn)分析數(shù)據(jù)結(jié) 構(gòu)的至少一部分;和數(shù)據(jù)發(fā)送代碼,其用于向分析服務(wù)器發(fā)送所述數(shù)
據(jù)結(jié)構(gòu)。
所述呈現(xiàn)分析引擎可不依賴于任何getURL()調(diào)用來將所捕捉的呈 現(xiàn)分析數(shù)據(jù)傳送給嵌入在網(wǎng)頁中的腳本,并且還可以不依賴于嵌入在 網(wǎng)頁中的任意呈現(xiàn)分析腳本。其可不依賴于呈現(xiàn)中的任何特定于對象 的用戶動(dòng)作跟蹤代碼來捕捉ActionScript呈現(xiàn)分析數(shù)據(jù)。
所述呈現(xiàn)分析引擎還可以包含自動(dòng)跟蹤代碼和/或視覺分析覆蓋 報(bào)告代碼。其可使用ActionScript代碼來實(shí)現(xiàn)。其可以是獨(dú)立的或者其 與web瀏覽器、顯示在瀏覽器中的網(wǎng)頁以及嵌入在網(wǎng)頁中的腳本代碼相 結(jié)合來捕捉網(wǎng)頁分析數(shù)據(jù),所述網(wǎng)頁分析數(shù)據(jù)反映在呈現(xiàn)之外在網(wǎng)頁 內(nèi)的用戶動(dòng)作。其可以跟蹤諸如用戶頁面瀏覽動(dòng)作、用戶鏈接跟隨動(dòng)作、用戶剪輯瀏覽動(dòng)作、用戶按鈕按壓動(dòng)作、用戶回放完成百分比和/ 或呈現(xiàn)閃現(xiàn)(impression)計(jì)數(shù)之類的項(xiàng)目。
一個(gè)實(shí)施例提供了一種用于獨(dú)立跟蹤ActionScript呈現(xiàn)活動(dòng)的方 法,包括在設(shè)備上接收諸如Flash呈現(xiàn)之類的包含ActionScript對象的 多媒體呈現(xiàn);捕捉呈現(xiàn)分析數(shù)據(jù),該呈現(xiàn)分析數(shù)據(jù)反映用戶與所述多 媒體呈現(xiàn)的ActionScnpt對象的交互;在所述設(shè)備動(dòng)態(tài)生成包含呈現(xiàn)分 析數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu);發(fā)送呈現(xiàn)分析數(shù)據(jù);自動(dòng)跟蹤用戶與所述多媒體 呈現(xiàn)的交互;和/或提供關(guān)于用戶與所述多媒體呈現(xiàn)的交互的視覺分析
覆蓋報(bào)告o
所述方法不依賴于getURL()調(diào)用、嵌入在網(wǎng)頁中的JavaScript代碼、 嵌入在網(wǎng)頁中的VBScript代碼和/或在Flash、 Flex或其它多媒體呈現(xiàn)中
的特定于對象的用戶動(dòng)作跟蹤代碼而進(jìn)行操作。例如,所述設(shè)備可以 是臺式計(jì)算機(jī)、膝上型計(jì)算機(jī)、個(gè)人數(shù)字助理、具有Flash播放器的蜂 窩電話、手持Flash播放器或其他移動(dòng)設(shè)備。
所述方法可進(jìn)—一步包括在所述設(shè)備上接收網(wǎng)頁,i^網(wǎng)頁具有諸 如腳本或web漏洞(bug)之類的嵌入式web跟蹤機(jī)制;利用嵌入式web 跟蹤機(jī)制捕捉web分析數(shù)據(jù),該web分析數(shù)據(jù)反映與所述網(wǎng)頁的用戶交 互;以及向分析服務(wù)器發(fā)送web分析數(shù)據(jù)。向分析服務(wù)器發(fā)送web分析 數(shù)據(jù)的步驟可關(guān)聯(lián)于相應(yīng)的訪問者ID來發(fā)送它,并且發(fā)送呈現(xiàn)分析數(shù) 據(jù)的步驟可關(guān)聯(lián)于同一訪問者ID向分析服務(wù)器發(fā)送該數(shù)據(jù),而無需在 執(zhí)行web分析步驟的代碼和執(zhí)行呈現(xiàn)分析步驟的代碼之間進(jìn)行握手。例 如,訪問者ID可存儲在瀏覽器cookie和/或Flash本地存儲的對象(也稱 作庫存儲對象,LSO)中,或者甚至可以(在移動(dòng)設(shè)備的情況下)從數(shù) 據(jù)傳輸報(bào)頭取得所述訪問者ID。
這些示例僅僅是說明性的。本發(fā)明由權(quán)利要求所限定,并且即使 該發(fā)明內(nèi)容部分幫助提供權(quán)利要求的基礎(chǔ),但是對該發(fā)明內(nèi)容部分與最終授權(quán)的權(quán)利要求相沖突的部分,也應(yīng)以權(quán)利要求為準(zhǔn)。


為了說明能夠獲得本發(fā)明的優(yōu)勢和特征的方式,參考附圖給出本 發(fā)明的描述。這些附圖僅圖示了本發(fā)明的所選擇方面,因而并沒有全 面確定本發(fā)明的范圍。
圖l是圖示本發(fā)明一些實(shí)施例的角色、數(shù)據(jù)、信息流、系統(tǒng)、方法 和其它方面的框圖。
圖2是根據(jù)本發(fā)明的至少一個(gè)實(shí)施例的使用呈現(xiàn)分析引擎和/或系 統(tǒng)的方法或者由所述呈現(xiàn)分析引擎和/或系統(tǒng)所執(zhí)行的方法的流程圖。
具體實(shí)施方式
引言
本發(fā)明提供了幫助收集關(guān)于用戶與Flash呈現(xiàn)、Flex呈現(xiàn)、其它 ActionScript應(yīng)用和其它多媒體呈現(xiàn)的交互的信息的工具和技術(shù)。這里 還討論了在這些呈現(xiàn)和網(wǎng)頁用戶交互跟蹤工具和技術(shù)之間的關(guān)聯(lián)、協(xié) 同、通信或所缺少的關(guān)聯(lián)、協(xié)同、通信的方面。 _
在這里的討論以及在附圖中通過特定示例對本發(fā)明進(jìn)行說明,但 是應(yīng)理解,本發(fā)明的其它實(shí)施例可以脫離這些示例。例如,可以對示 例中的特定特征進(jìn)行省略、重命名、不同分組、重復(fù)、以硬件和/或軟 件不同地例示、以不同次序執(zhí)行或者是在兩個(gè)或更多示例中所出現(xiàn)的 特征的混合。
術(shù)語的定義在本文檔全文中明確或隱含地給出。術(shù)語在這里無需 具有與其通常所使用的、在特定行業(yè)中所使用的或者在特定字典或字
典組中所使用的相同的含義。關(guān)于新創(chuàng)術(shù)語和其它術(shù)語而言,發(fā)明人 以其自己編撰的意思宣稱并行使其權(quán)利。具體地,諸如"自動(dòng)跟蹤"和"自動(dòng)跟蹤代碼"之類的術(shù)語在這 里具有特定含義。自動(dòng)跟蹤是能夠使用無需開發(fā)人員在被跟蹤呈現(xiàn)中 插入特定于對象的跟蹤代碼而執(zhí)行的分析數(shù)據(jù)收集和利用。 AutoTrackTM是Omniture公司的商標(biāo)。例如,自動(dòng)跟蹤特征監(jiān)聽Flash文 件內(nèi)的按鈕和電影剪輯動(dòng)作,并且自動(dòng)跟蹤這些對象的使用,無需特 定于對象的代碼,并且進(jìn)行被跟蹤活動(dòng)的同時(shí)報(bào)告。例如,可以通過 從ActkmScnpt代碼動(dòng)態(tài)生成圖像請求并且將所跟蹤的數(shù)據(jù)量度包括在 被發(fā)送給分析服務(wù)器的請求中來進(jìn)行對所跟蹤的活動(dòng)的同時(shí)報(bào)告。因 此,某人能夠自動(dòng)跟蹤Flash文件的使用而無需相對于跟蹤對各個(gè)按鈕
或電影剪輯為點(diǎn)擊動(dòng)作進(jìn)行編碼。由于不需要特定于對象的代碼,所 以這可以顯著減少在Flash應(yīng)用中實(shí)現(xiàn)和測試跟蹤量度所需的時(shí)間。
另一個(gè)為了在這里使用而定義的術(shù)語是"視覺分析覆蓋報(bào)告"。 在常規(guī)上下文中的視覺分析覆蓋報(bào)告(或"VAOR")的示例是Omniture 的ClickMapTM特征。ClickMapTM是Omniture公司的商標(biāo)。并非由本發(fā)明 人所發(fā)明的ClickMap 報(bào)告以前已經(jīng)提供了本領(lǐng)域中的Flash分析覆 蓋,但是是利用依賴于使用JavaScript代碼進(jìn)行通信以便跟蹤活動(dòng)的技 術(shù)來實(shí)現(xiàn)的?,F(xiàn)在,使用本發(fā)明的自有Flash ActionScript跟'蹤, ClickMapTM以及其它VAOR活動(dòng)能夠通過自有Flash ActionScript語言自 動(dòng)跟蹤其它分析量度。這可以通過使用監(jiān)聽器代碼來實(shí)現(xiàn),所述監(jiān)聽 器代碼在用戶點(diǎn)擊可跟蹤按鈕或電影剪輯或其它可跟蹤對象時(shí)動(dòng)態(tài)生 成適當(dāng)?shù)母櫞a。
自動(dòng)跟蹤和視覺分析覆蓋報(bào)告均涉及跟蹤用戶與ActionScript對象 的交互,并且不需要添加特定于對象的代碼來執(zhí)行。為了實(shí)現(xiàn)該對于 特定于對象的跟蹤代碼的獨(dú)立性,自動(dòng)跟蹤增加了動(dòng)態(tài)生成圖像請求 或來自ActionScript代碼的其它通信,以將所跟蹤的數(shù)據(jù)量度同時(shí)發(fā)送 給分析服務(wù)器。對于特定于對象的跟蹤代碼的獨(dú)立性,視覺分析覆蓋 報(bào)告添加對使用所跟蹤的數(shù)據(jù)量度來創(chuàng)建視覺報(bào)告的支持,所述視覺 報(bào)告覆蓋了曾經(jīng)/正在被跟蹤的呈現(xiàn)。在給定情形中可以提供自動(dòng)跟蹤和視覺分析覆蓋報(bào)告兩者,而在另一種情形中僅提供它們中的一個(gè)或 都不提供。
"網(wǎng)頁腳本",也稱作"嵌入式腳本"或"嵌入式web腳本",包 VBScript代碼,但并不局限于此。與作為跟蹤與用戶進(jìn)行的呈現(xiàn)對象交
互的呈現(xiàn)分析腳本相反,這樣的腳本通常跟蹤網(wǎng)頁使用,并且因此跟
蹤web分析腳本。
所嵌入的"web跟蹤機(jī)制"包括圖像請求、web漏洞、JavaScript 調(diào)用、HTTPGET或POST調(diào)用以及包括在或?qū)朐诰W(wǎng)頁(例如,HTML 或XML文檔)中的其它項(xiàng)目,所述項(xiàng)目具有在網(wǎng)絡(luò)上向服務(wù)器或其它 目標(biāo)傳送用戶活動(dòng)跟蹤數(shù)據(jù)以支持web分析的效果。
本文中在一方面的"web分析"和另一方面的"呈現(xiàn)分析"之間進(jìn) 行了區(qū)分。web分析跟蹤用戶與網(wǎng)頁的交互;而呈現(xiàn)分析則跟蹤用戶與 多媒體呈現(xiàn)的交互。這里所關(guān)心的呈現(xiàn)跟蹤可以與web分析協(xié)同完成, 但是不必在本發(fā)明的每個(gè)實(shí)施例中都如此。 '
"多媒體呈現(xiàn)"包括Flash呈現(xiàn)、Flex呈現(xiàn)、含有ActionScript的其
它呈現(xiàn)以及可與網(wǎng)頁分別進(jìn)行跟蹤的其它多媒體呈現(xiàn)或富因特網(wǎng)應(yīng)用 (Rich Internet Application)。
"方案"是商業(yè)產(chǎn)品,其可以實(shí)現(xiàn)本發(fā)明的各個(gè)方面。方案具有 一些特征的事實(shí)并不意味著在本發(fā)明的每個(gè)實(shí)施例中必須都存在該特 征,雖然其可能在一些實(shí)施例中存在。類似地,"原型"是可實(shí)現(xiàn)或 不實(shí)現(xiàn)所要求保護(hù)的本發(fā)明的各方面的部分開發(fā)的產(chǎn)品。
這里的涉及計(jì)算機(jī)和設(shè)備102的許多示例可以是計(jì)算機(jī)或多計(jì)算 機(jī)系統(tǒng)。但是應(yīng)理解,本發(fā)明可以以其它各種方式和環(huán)境來實(shí)現(xiàn)。計(jì)或其它呈現(xiàn)的設(shè)備102;蜂窩電話、移動(dòng)電 話、諸如以Blackberry商標(biāo)出售的無線設(shè)備、諸如以Palm商標(biāo)出售的個(gè) 人數(shù)字助理和/或包括手持設(shè)備等的其它設(shè)備也可以提供支持跟蹤用戶 動(dòng)作的多媒體呈現(xiàn)。同樣, 一些示例涉及客戶端機(jī)器,但是在對等網(wǎng) 絡(luò)以及客戶端-服務(wù)器網(wǎng)絡(luò)中也可以對多媒體呈現(xiàn)進(jìn)行跟蹤、分析等。 也就是說,如果其確實(shí)處于網(wǎng)絡(luò)之中,則設(shè)備102可以是客戶端-服務(wù)器 網(wǎng)絡(luò)的一部分或者其可以是對等網(wǎng)絡(luò)中的一端,或者其可以是某個(gè)其 它類型的網(wǎng)絡(luò)中的節(jié)點(diǎn)。
當(dāng)參考可以由Omniture或Omniture客戶端所進(jìn)行的活動(dòng)時(shí),這些是
可以由本發(fā)明的其他授權(quán)用戶(例如所許可的分析服務(wù)提供商和其他 客戶)所進(jìn)行的活動(dòng)的一般性示例。
體系結(jié)構(gòu)及其它
圖1和圖2圖示了與本發(fā)明的至少一些實(shí)施例相一致的一些呈現(xiàn)分 析體系結(jié)構(gòu)。設(shè)備102向用戶104提供了通過用戶界面108對所加載202 的呈現(xiàn)106的訪問,所述用戶界面108利用僅用作顯示的屏幕、鍵盤、 鼠標(biāo)、軌跡球、觸摸屏、觸控筆、揚(yáng)聲器、麥克風(fēng)和/或構(gòu)成設(shè)備102 的一部分或者可操作地連接至設(shè)備102的其它外設(shè)110。所述呈現(xiàn)可以 從網(wǎng)站下載202或從本地存儲加載202。所述呈現(xiàn)存儲在某種形式的存 儲器U2中,其可以是RAM、 ROM或其它半導(dǎo)體存儲器,并且還可以 是諸如CD-R0M或DVD的可移動(dòng)的計(jì)算機(jī)可讀非易失性存儲介質(zhì)112。 呈現(xiàn)播放器114播放所述呈現(xiàn),并且通過諸如按鈕、滑動(dòng)條、菜單等的 交互選項(xiàng)向用戶104提供控制204。這些交互選項(xiàng)可以對應(yīng)于對在所述 呈現(xiàn)中的對象116所進(jìn)行的選擇或其它操作。所述呈現(xiàn)通常還包含視頻 和/或靜止圖像、聲音文件、文本和類似內(nèi)容118。其可包含用于導(dǎo)入呈 現(xiàn)分析引擎代碼的鉤(hook)。
設(shè)備102可包括一個(gè)或多個(gè)處理器120和相關(guān)聯(lián)的電路,用于執(zhí)行 以軟件、固件或其它形式實(shí)現(xiàn)的呈現(xiàn)分析方法。可存在諸如操作系統(tǒng)軟件、BIOS代碼、引導(dǎo)代碼、診斷代碼、用戶偏好、網(wǎng)絡(luò)連接代碼、 文件系統(tǒng)代碼等的基本軟件122來提供功能,所述功能一般不必特定于
呈現(xiàn)分析或者甚至特定于分析。網(wǎng)絡(luò)代碼可利用網(wǎng)絡(luò)堆棧、網(wǎng)絡(luò)協(xié)議、
網(wǎng)絡(luò)接口卡和/或其它網(wǎng)絡(luò)支持124。
雖然web瀏覽器并非在每個(gè)實(shí)施例中都是必需的,但是所示的實(shí)施 例包括web瀏覽器126,其己經(jīng)從網(wǎng)站134下載了126網(wǎng)頁128。除了文本、 圖像和其它內(nèi)容130之外,網(wǎng)頁還包括web分析腳本132,其將與用戶104 和網(wǎng)頁的交互218相關(guān)的數(shù)據(jù)138發(fā)送到222分析服務(wù)器136 (并且其也 可以收集220所述數(shù)據(jù))。例如,Omniture公司提供了這樣的腳本132 和服務(wù)器136等其它web分析服務(wù)。服務(wù)器134/136所生成的唯一訪問者 ID 140被存儲124在瀏覽器cookie 142中,并且被傳送到web分析服務(wù)器, 以使得web分析數(shù)據(jù)138能夠與特定訪問者104相關(guān)聯(lián),或者至少與對網(wǎng) 站134的特定訪問相關(guān)聯(lián)。如所指示的,呈現(xiàn)播放器114可以是單獨(dú)的 應(yīng)用(由圖l的左欄中的播放器所指示),或者其可以是瀏覽器插件(右 欄播放器)。在一些情況下,除瀏覽器外的諸如饋給聚合器之類的程 序也可能包括觸發(fā)呈現(xiàn)106的下載和/或播放的腳本132和內(nèi)容130,在這 種情況下,可以替代地或附加地利用這樣的聚合器或其它程序來應(yīng)用 這里結(jié)合瀏覽器所討論的本發(fā)明的原理和特征。
所示出的實(shí)施例還包括呈現(xiàn)分析引擎144,其具有數(shù)據(jù)捕捉代碼
(指令和/或數(shù)據(jù))146,用于捕捉206反映用戶104與呈現(xiàn)106的交互的 呈現(xiàn)分析數(shù)據(jù)152;數(shù)據(jù)結(jié)構(gòu)生成代碼148,用于在用戶交互期間實(shí)時(shí)
(on-the-fly)生成208諸如字符串的包含至少一些所捕捉的呈現(xiàn)分析數(shù) 據(jù)的格式化數(shù)據(jù)結(jié)構(gòu);以及數(shù)據(jù)發(fā)送代碼150,用于例如將呈現(xiàn)分析數(shù) 據(jù)發(fā)送210到本地文件和/或諸如呈現(xiàn)分析服務(wù)器136的其它目的地。一 些實(shí)施例包括自動(dòng)跟蹤代碼154,其支持對呈現(xiàn)分析的自動(dòng)跟蹤212, 并且一些實(shí)施例包括VAORing代碼156,用于創(chuàng)建、修改、顯示和/或支 持214視覺呈現(xiàn)分析覆蓋報(bào)告。可以通過將其對JavaScript通信的依賴替 換為固有的ActionScript通信而保留ClickMapTM用戶界面來對現(xiàn)有技術(shù)的VAOR ClickMapTM代碼進(jìn)行修改以用于本發(fā)明。呈現(xiàn)分析引擎可使 用224存儲在瀏覽器cookie 142中并被web分析代碼所使用的相同訪問 者ID 140。在一些實(shí)施例中,呈現(xiàn)分析引擎使用226存儲在Flash cookie 142中的訪問者ID 140,諸如Flash本地存儲對象。
無需每個(gè)發(fā)明實(shí)施例或配置都包括圖中所示的每個(gè)組件,或包括 與這里所示相同數(shù)量和關(guān)系的組件。雖然圖2是主要示出了本發(fā)明的呈 現(xiàn)分析方法的流程圖,但是圖l和這里對其它實(shí)施例的討論也可以幫助 理解方法實(shí)施例,就像方法的理解有時(shí)會(huì)幫助理解類似于圖l所主要示 出的系統(tǒng)或非方法實(shí)施例。
一些實(shí)施例包括計(jì)算機(jī)可讀存儲介質(zhì),諸如閃存、CD、 DVD、可 移動(dòng)驅(qū)動(dòng)器等,其被配置為與處理器120結(jié)合工作來執(zhí)行用于呈現(xiàn)分析 的處理。硬盤、RAM、磁帶或其它存儲器112也可以被配置成用作實(shí)現(xiàn) 本發(fā)明的計(jì)算機(jī)可讀存儲介質(zhì)。應(yīng)理解,方法實(shí)施例和所配置的介質(zhì) 實(shí)施例在下列意義上通常緊密相關(guān)許多方法可以使用配置介質(zhì)的代 碼來實(shí)施,并且許多所配置的介質(zhì)是由執(zhí)行方法的代碼來配置的。本 領(lǐng)域技術(shù)人員將會(huì)理解,也可以使用不包含含有執(zhí)行方法的代碼的 ROM、 PROM、 EEPROM、 RAM或其它存儲介質(zhì)的硬布線的專用硬件 來執(zhí)行所述方法,但是認(rèn)為這樣的實(shí)現(xiàn)是非常規(guī)的,原因在于完全以 硅而不用包含微碼(microcode)或其它代碼的介質(zhì)來實(shí)現(xiàn)方法通常成 本很高。
一些實(shí)施例包括根據(jù)本發(fā)明的呈現(xiàn)分析數(shù)據(jù)結(jié)構(gòu)。這樣的結(jié)構(gòu)可 存儲在任意計(jì)算機(jī)可讀介質(zhì)中并由此對其進(jìn)行配置,所述計(jì)算機(jī)可讀 介質(zhì)包括可移動(dòng)介質(zhì)112或存儲器112。呈現(xiàn)分析結(jié)構(gòu)可以以€++、 Java、
XML、 Perl和/或其它編程或腳本語言來實(shí)現(xiàn),或者以語言的組合來實(shí) 現(xiàn),除非操作或權(quán)利要求限制需要其它形式;對于一些實(shí)施例優(yōu)選 ActionScript。所有這些示例都僅僅是對本領(lǐng)域技術(shù)人員可以利用本發(fā) 明的許多方式的說明。能夠獨(dú)立于網(wǎng)頁腳本進(jìn)行操作的呈現(xiàn)分析引擎144的一個(gè)實(shí)施例 包括數(shù)據(jù)捕捉代碼146,用于捕捉反映用戶104在呈現(xiàn)內(nèi)的動(dòng)作204的 呈現(xiàn)分析數(shù)據(jù)152;數(shù)據(jù)結(jié)構(gòu)生成代碼148,用于動(dòng)態(tài)生成208至少一部 分格式化呈現(xiàn)分析數(shù)據(jù)結(jié)構(gòu)152;以及數(shù)據(jù)發(fā)送代碼150,用于向分析
服務(wù)器136發(fā)送所述數(shù)據(jù)結(jié)構(gòu);其中所述呈現(xiàn)分析引擎進(jìn)一步的特征在
于其不依賴于任何getURL()調(diào)用來將所捕捉的呈現(xiàn)分析數(shù)據(jù)傳送到嵌 入在網(wǎng)頁128中的腳本132,并且也不依賴于嵌入在網(wǎng)頁中的任何呈現(xiàn) 分析腳本132。 一些實(shí)施例進(jìn)一步包括自動(dòng)跟蹤代碼154、視覺分析覆 蓋報(bào)告代碼156中的至少一個(gè)。在一些實(shí)施例中,將唯一訪問者ID 140 存儲在瀏覽器cookie 142、本地共享對象142中的至少一個(gè)中。
在一些實(shí)施例中,數(shù)據(jù)發(fā)送代碼150包括以下項(xiàng)中的至少一個(gè)進(jìn) 行圖像請求的代碼、進(jìn)行GET請求的代碼、進(jìn)行POST請求的代碼、進(jìn) 行端口80請求的代碼、進(jìn)行FTP請求的代碼、向共享文件寫數(shù)據(jù)的代碼、 向共享存儲器寫數(shù)據(jù)的代碼。在一些情況下,數(shù)據(jù)發(fā)送代碼發(fā)送反映 以下至少一個(gè)的分析數(shù)據(jù)用戶頁面瀏覽活動(dòng)204、用戶鏈接跟隨活動(dòng) 204、用戶剪輯觀看活動(dòng)204、用戶按鈕按壓活動(dòng)204、用戶播放完成百 分比204、呈現(xiàn)閃現(xiàn)204計(jì)數(shù)。在一些情況下,引擎144包括ActionScript 代碼。在一些情況下,多媒體呈現(xiàn)106包括ActionScnpt對象116。
一些實(shí)施例將呈現(xiàn)分析引擎144與web瀏覽器126、在所述瀏覽器中 顯示的網(wǎng)頁128和嵌入在所述網(wǎng)頁中的腳本代碼132相結(jié)合,以捕捉反 映在呈現(xiàn)106之外的網(wǎng)頁內(nèi)的用戶動(dòng)作的網(wǎng)頁分析數(shù)據(jù)138;并且其中 引擎144不具有用于將呈現(xiàn)分析數(shù)據(jù)和網(wǎng)頁的嵌入腳本代碼進(jìn)行同步 的代碼。網(wǎng)頁的嵌入腳本代碼132可包括JavaScript代碼、VBScript代碼 中的至少一個(gè)。 一些實(shí)施例將引擎144至少與分析服務(wù)器136和/或與包 含用于導(dǎo)入引擎的代碼158的多媒體呈現(xiàn)106相結(jié)合。
更具體地,一個(gè)ActionScript呈現(xiàn)分析引擎144包括數(shù)據(jù)捕捉代碼146,用于捕捉反映用戶激活呈現(xiàn)中的至少 一 個(gè)ActionScript對象的 ActionScnpt呈現(xiàn)分析數(shù)據(jù);和數(shù)據(jù)發(fā)送代碼150,用于發(fā)送至少一部分 所捕捉的AcdonScript呈現(xiàn)分析數(shù)據(jù);其中所述引擎144不依賴于所述呈 現(xiàn)中的任何特定于對象的用戶動(dòng)作跟蹤代碼來捕捉所述ActK)iiScript呈 現(xiàn)分析數(shù)據(jù)。在一些情況下,引擎144也不依賴于任何getURL()調(diào)用來 發(fā)送所捕捉的ActionScript呈現(xiàn)分析數(shù)據(jù)。
在一些情況下,引擎144可以與呈現(xiàn)播放器114相結(jié)合,所述呈現(xiàn) 播放器114與呈現(xiàn)106相兼容并且為用戶交互204提供至少一個(gè) ActionScript對象—。在一些情況下,以下的一個(gè)或多個(gè)可以是有效的 播放器114包括Flash呈現(xiàn)播放器;播放器114包括Flex呈現(xiàn)播放器;播 放器114包括到web瀏覽器126的插件;呈現(xiàn)106至少部分嵌入在網(wǎng)頁128 中;呈現(xiàn)106至少部分存儲在非易失性可移動(dòng)計(jì)算機(jī)可讀存儲介質(zhì)112 上-,播放器114運(yùn)行在計(jì)算機(jī)102上;播放器114運(yùn)行在手持或其它移動(dòng) 設(shè)備102上。
一些實(shí)施例提供了用于獨(dú)立地跟蹤ActionScript呈現(xiàn)活動(dòng)的方法, 包括在設(shè)備102上接收202包含ActionScript對象116的多媒體呈現(xiàn)106; 捕捉206反映用戶與所述多媒體呈現(xiàn)的ActionScript對象的交互204的呈
現(xiàn)分析數(shù)據(jù)152;以及發(fā)送210呈現(xiàn)分析數(shù)據(jù);其中所述方法獨(dú)立于以
下的一個(gè)或多個(gè)進(jìn)行操作getURL()調(diào)用、嵌入在網(wǎng)頁中的JavaScript 代碼132、嵌入在網(wǎng)頁中的VBScript代碼132、多媒體呈現(xiàn)中的特定于對 象的用戶動(dòng)作跟蹤代碼。所述發(fā)送步驟可包括以下的至少一個(gè)進(jìn)行 圖像請求、進(jìn)行GET請求、進(jìn)行POST請求、進(jìn)行端口80請求、進(jìn)行FTP 請求、向共享文件寫數(shù)據(jù)、向共享存儲器寫數(shù)據(jù)。所述方法還可以包 括在設(shè)備上動(dòng)態(tài)生成208包含呈現(xiàn)分析數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)、自動(dòng)跟蹤212 用戶與多媒體呈現(xiàn)的交互204和/或提供214關(guān)于用戶與多媒體呈現(xiàn)的交 互204的視覺分析覆蓋報(bào)告。
在一些情況下,所述方法進(jìn)一步包括在設(shè)備102上接收216具有所嵌入的web跟蹤機(jī)制132的網(wǎng)頁128;利用所嵌入的web跟蹤機(jī)制132 捕捉220反映用戶與所述網(wǎng)頁的交互的web分析數(shù)據(jù)138;以及向分析服 務(wù)器136發(fā)送222 web分析數(shù)據(jù)。在一些情況下,向分析服務(wù)器發(fā)送web 分析數(shù)據(jù)的步驟222將其關(guān)聯(lián)于相應(yīng)的訪問者ID 140進(jìn)行發(fā)送,并且發(fā) 送呈現(xiàn)分析數(shù)據(jù)的步驟210將該數(shù)據(jù)與相同訪問者ID相關(guān)聯(lián)地發(fā)送到 分析服務(wù)器,而無需在執(zhí)行web分析步驟的代碼和執(zhí)行呈現(xiàn)分析步驟的 代碼之間進(jìn)行通信。
開發(fā)觀察和歷史
除了以上觀察之外,以下內(nèi)容可幫助理解本發(fā)明的系統(tǒng)、設(shè)備、 配置的媒體、方法和處理產(chǎn)品。在Omiiiture分析中,已經(jīng)通過其對于執(zhí) 行JavaScnpt的要求嘗試了Flash跟蹤。從Flash應(yīng)用捕捉量度的典型處理 是在FIash中執(zhí)行"getURL()"命令,其繼而在瀏覽器層級執(zhí)行HTML 頁面中的JavaScript。該處理在Flash開發(fā)人員理解JavaScript并且需要非 常少量的跟蹤的簡單應(yīng)用中工作良好。
本發(fā)明提供了一種可作為選擇的方法,其運(yùn)用Flash ActionScnpt 來對Flash量度進(jìn)行動(dòng)態(tài)組織并將其發(fā)送到Omniture的數(shù)據(jù)收集服務(wù) 器,或者可能發(fā)送到本發(fā)明的其它授權(quán)用戶的數(shù)據(jù)收集服務(wù)器??赡?早在2005年9月就已經(jīng)做出了工作原型,并且被0mmture和其它公司在 未公開協(xié)議和其它保密協(xié)議下所使用。本發(fā)明模仿了許多Ommtiire的 JavaScnpt命令來處理和傳送數(shù)據(jù),并且以Flash固有的語言和格式即 AcdonScnpt來進(jìn)行該操作。該方法的一些好處在于其簡化了實(shí)現(xiàn)、改 進(jìn)了跟蹤性能并且使得Flash跟蹤不依賴于其它技術(shù),允許Flash跟蹤獨(dú) 立于瀏覽器中頁面層級的腳本編寫。其也是Ommtme的媒體跟蹤能力的 不同之處。該技術(shù)對運(yùn)用Omniture現(xiàn)有的處理體系結(jié)構(gòu),省略了對修改 后端(POST收集)處理的需要。所有功能可以是在客戶端側(cè),并且是 Flash ActionScript所固有的。方案可以是向后兼容Flash播放器版本6, 其在美國具有97.1%的分布,在美國以外超過98%的分布。其可以使用 特定于FlashMX2004或更新的開發(fā)環(huán)境,但是播放器可與版本6兼容。Omniture固有的Flash ActionScript跟蹤能夠簡化實(shí)施Flash跟蹤的 處理,并且動(dòng)態(tài)改進(jìn)Flash跟蹤的數(shù)據(jù)傳輸性能。從開發(fā)人員觀看來說, 該技術(shù)通過非常簡單并且某些情況下是自動(dòng)的用于Flash的Omniture SiteCatalyst跟蹤代碼的開發(fā)人員實(shí)現(xiàn)提供了有力的Flash分析。其能夠 運(yùn)用FlashActionScript來動(dòng)態(tài)生成208適當(dāng)?shù)姆治鰯?shù)據(jù)152,并且通過相 同的ActionScript將該數(shù)據(jù)傳送210到Omniture而不需使用JavaScript。對 于Omniture客戶端的好處在于具有快速、固有的ActionScript支持的簡 化實(shí)現(xiàn),并且在一些情況下利用ClickMapTM支持對活動(dòng)進(jìn)行自動(dòng)跟蹤。
原型方案最初開發(fā)于2005年并且在那時(shí)被提供給Omniture客戶 端。8^2娛樂使用該原型跟蹤其作為獨(dú)立應(yīng)用的使用?1&北和€++編程 的Vongo播放器。該原型版本非常粗略并且作為使用ActionScript動(dòng)態(tài)生 成硬編碼的圖像請求的原始功能來提供。該版本沒有運(yùn)用Ommture cookie來進(jìn)行跟蹤。Starz娛樂作為visID密鑰傳遞其自己的唯一跟蹤代 碼,并且VISTA利用該唯一ID替換SiteCatalyst visID。在提供所述原型 代碼時(shí)簽署了保護(hù)本發(fā)明的保密協(xié)議。
該方案的第二版本分發(fā)給GM Europe用于其Opel.de網(wǎng)站。該版本 遠(yuǎn)優(yōu)于Starz娛樂版本,原因在于其包括圖像請求的動(dòng)態(tài)生成,并且與 JavaScnpt更一致,包括共享與JavaScript文件相同的cookie。該版本在 2005年10月提供給該GM Europe的Flash開發(fā)者Zentropy。在提供所述代 碼時(shí)簽署了保護(hù)本發(fā)明的保密協(xié)議。
該方案的第三版本在2006年2月分發(fā)給Scnpps Networks ( EW Scripps)作為推廣他們?yōu)槊襟w上的Sumimt呈現(xiàn)所準(zhǔn)備的媒體跟蹤能力 的手段。Scripps的Flash開發(fā)專家TimO,NeU接收到了該代碼的副本并且 為發(fā)明人提供了一些有益的反饋,諸如關(guān)于將方案代碼封裝到 ActionScript2.0組件中以便分發(fā)的代碼樣本。發(fā)明人記得Tim O,Ndl的 調(diào)整是針對封裝,而并非針對組織和傳送數(shù)據(jù)的基礎(chǔ)功能144。在提供所述代碼時(shí)簽署了保護(hù)本發(fā)明的保密協(xié)議。 實(shí)現(xiàn)細(xì)節(jié)
Omniture的Flash ActionScript方案可以結(jié)合或者獨(dú)立于Omniture JavaScript 132運(yùn)行,該Omniture JavaScript 132跟蹤220、 222傳統(tǒng)的 HTML頁面128的。在上層,可以進(jìn)行以下內(nèi)容。Omniture的Flash ActionScript生成圖像請求,并且將其發(fā)送到Omniture服務(wù)器136。 Flash 使用穿過瀏覽器126的http(s)協(xié)議但不需要JavaScript 132。 Omniture的 CName()數(shù)據(jù)收集函數(shù)允許在瀏覽器中讀取或設(shè)置cookie。瀏覽器對來 自Flash的請求或來自JavaScript的請求如同對瀏覽器cookie同樣地進(jìn)行 處理,并且即使當(dāng)請求來自Flash時(shí),唯一訪問者也在SiteCatalystTM服 務(wù)器代碼中具有相同的v化ID 140。Omniture配置腳本在運(yùn)行時(shí)動(dòng)態(tài)地包 括Omniture ActionScript144。
Omniture ActionScript跟蹤方案運(yùn)用Flash的ActionScript編程和 http(s)協(xié)議技術(shù)來將分析數(shù)據(jù)152編譯為可消費(fèi)格式并且將所述數(shù)據(jù)傳 送210到Omniture的數(shù)據(jù)收集服務(wù)器136。 ActionScript與JavaScript (和 Java)類似,其中Flash應(yīng)用106可以在運(yùn)行時(shí)動(dòng)態(tài)執(zhí)行動(dòng)作。Omniture 的方案利用該功能基于(如應(yīng)用開發(fā)人員所定義的)用戶104動(dòng)作來捕 捉206分析信息,并且將該簡單數(shù)據(jù)轉(zhuǎn)換208為有意義的格式以便進(jìn)行 分析報(bào)告。接著,所述方案運(yùn)用固有的Flash方法來發(fā)送210數(shù)據(jù),以將 格式化的量度數(shù)據(jù)推到Ommtm:e以進(jìn)行處理和報(bào)告。該數(shù)據(jù)傳送處理使 用用戶瀏覽器126的http(s)協(xié)議,并且通過其利用正確訪問者的唯一但 非個(gè)人識別的ID 140和Flash應(yīng)用的路徑分析來設(shè)置(或者運(yùn)用現(xiàn)有的) 量度cookie 142。
某人可能會(huì)問在將數(shù)據(jù)放入cookie 142和生成210圖像請求之間有 什么關(guān)系。在一些實(shí)施例中,存儲在coolde中的僅有數(shù)據(jù)是非個(gè)人識別 但唯一的訪問者ID 140。該訪問者ID是確定唯一訪問者的關(guān)鍵字,但是 其獨(dú)立于圖像請求中的數(shù)據(jù)。所述圖像請求包含用于報(bào)告呈現(xiàn)分析的特定變量152和定制值152。因此圖像請求通常運(yùn)用cookie來建立訪問者 唯一性,但是對于傳送或報(bào)告數(shù)據(jù)152來說,來自所述cookie的訪問者 ID并不是必要條件。Cookie僅需要被用于唯一訪問者量度。在Flash傳 送210圖像請求時(shí)和當(dāng)JavaScript傳送222圖像請求時(shí)該數(shù)值相同是重要 的。如果這兩種方法沒有共享相同的唯一訪問者ID,則系統(tǒng)136將會(huì)把 訪問JavaScript和Flash的一個(gè)用戶104識別為兩個(gè)唯一訪問者,而將用戶 識別為單個(gè)訪問者可能是優(yōu)選的。作為選擇,F(xiàn)lash還可以在庫共享對 象142 (這是Flash的cookie版本,但是不認(rèn)為其是傳統(tǒng)瀏覽器cookie) 中存儲唯一訪問者ID。這種方法能夠利用庫共享對象維護(hù)訪問者的唯 一性,并且可能與瀏覽器126共享該唯一ID 140,但是其需要幾個(gè)額外 步驟,例如將唯一ID發(fā)送給JavaScript代碼,所述JavaScript代碼進(jìn)而將 其發(fā)送給瀏覽器cookie和/或web分析服務(wù)器。理論上,LSO方法可以比 瀏覽器coolde更為準(zhǔn)確,但是其使用并不被一些隱私倡導(dǎo)者所贊成。
cookie的唯一ID被瀏覽器自動(dòng)傳送。當(dāng)請求通過瀏覽器126時(shí),瀏 覽器收集請求所要到的域的所有cookie信息并對其自動(dòng)傳送。如以上所 提到的,替代方法是以某種其它方式存儲唯一訪問者ID,諸如存儲在 庫共享對象中,并接著通過圖像請求對其進(jìn)行傳遞以便處理。Starz娛 樂原型使用這種通過圖像請求的唯一ID傳輸方法并且其非常準(zhǔn)確,尤 其是在無需將唯一ID發(fā)送到瀏覽器126供JavaScript 132使用時(shí)。
因此, 一種方法運(yùn)用使用GET命令的圖像請求字符串。當(dāng)然,不 需要返回真實(shí)的圖像,所以在某種意義上它實(shí)際上不是圖像請求。存 在也可以使用傳輸數(shù)據(jù)152的替代方法。例如,Ommture數(shù)據(jù)收集服務(wù) 器允許發(fā)送XML POST命令作為對圖像請求所使用的GET的替代。該 Flash應(yīng)用106/1 H/144能夠進(jìn)行XML POST。作為XML POST或圖像請 求GET的替代,應(yīng)用106/114/144也許能夠直接對Omniture (或其它)服 務(wù)器136進(jìn)行端口80請求。其也能夠收集信息152并接著經(jīng)由FTP (文件 傳輸協(xié)議)將其發(fā)送給收集服務(wù)器136來進(jìn)行處理和吸收(ingest),但 是使用FTP相對較慢并且會(huì)需要諸如登錄、指定待傳送文件和目標(biāo)目錄以及可能設(shè)置許可之類的多個(gè)附加步驟。
原型Omniture方案運(yùn)用在運(yùn)行時(shí)被包括15 8在待跟蹤的Flash文件 106中的集中(和編譯)引擎144。所述待跟蹤的Flash文件需要少量的 腳本158來包括所述集中引擎,并且少量146來對關(guān)鍵成功事件執(zhí)行函 數(shù)。所述待跟蹤的Flash文件的配置通過Flash組件進(jìn)行處理,以便于分 發(fā)和封裝。雖然在dev中可見,但是組件144無需在運(yùn)行時(shí)可見。
該版本中的集中引擎144被配置為幾個(gè)部分。初始化部分對引擎的 私有變量進(jìn)行初始化,以生成用于傳輸?shù)倪m當(dāng)格式。另一部分具有生 成傳輸字符串152的開始和一般部分的函數(shù)148。另一部分具有通過 ActionScript 116進(jìn)行動(dòng)態(tài)解析以生成用于所述傳輸字符串的值以及用 戶定義和定制變量的函數(shù)148。第四部分的功能是改變148例如為與定 制鏈接跟蹤數(shù)據(jù)152相對的頁面瀏覽數(shù)據(jù)152所生成的傳輸字符串的類 型。以下提供來自原型的樣本代碼。
與JavaScript跟蹤選項(xiàng)相比,AutoTrackTM特征154允許開發(fā)人員在 小段時(shí)間中實(shí)現(xiàn)Omniture跟蹤功能。AutoTrackT,《碼154運(yùn)用固有的 Flash ActionScript來監(jiān)聽206點(diǎn)擊活動(dòng)204,動(dòng)態(tài)編譯208跟蹤數(shù)據(jù),并 以有效的固有格式將其自動(dòng)發(fā)送210到Omniture 136。 Omniture對Flash 的AutoTrack在Omniture的固有Flash ActionScript跟蹤的基礎(chǔ)之上來擴(kuò) 展。該特征監(jiān)聽可以被認(rèn)為是可跟蹤的按鈕和電影剪輯動(dòng)作,并且自 動(dòng)跟蹤這些對象在Flash文件內(nèi)的使用。Omnitiire客戶端可以運(yùn)用該特 征來自動(dòng)跟蹤Flash文件的使用而無需對于相對于跟蹤的點(diǎn)擊動(dòng)作對各 個(gè)按鈕或電影剪輯進(jìn)行編碼,原因在于自動(dòng)跟蹤代碼自動(dòng)索引新添加 的按鈕。AutoTrack可以動(dòng)態(tài)減少用于跟蹤Flash應(yīng)用中的量度的實(shí)現(xiàn)和
測試所需的時(shí)間。 一些瀏覽器層級的報(bào)告對于自動(dòng)跟蹤可能是不可用 的或者為其它方式,但是可以通過在可動(dòng)態(tài)生成(客戶端側(cè)或服務(wù)器 側(cè))的〈object〉標(biāo)簽中的flashvars來捕捉數(shù)據(jù),例如當(dāng)前瀏覽器URL(所 托管的.sw紋件的URL是缺省的)、參考域以及瀏覽器類型和版本。例如
<object...
<PARAM NAME=FlashVars
VALUE="propl=Hello%20World||prop2=so%20coor〉
</object〉
或者
<object...
<param name='movie" value="filel.swf propl=Hello
World&prop2=so cool,7〉
</object〉
ClickM叩TM特征156運(yùn)用固有的ActionScript來獲得視覺點(diǎn)擊覆蓋 的更好效果和準(zhǔn)確性。Ommture代碼編譯208和傳送210關(guān)于哪個(gè)對象 116被點(diǎn)擊204的特定信息152并允許ClickMapTM覆蓋152顯示與點(diǎn)擊活 動(dòng)相關(guān)的視覺信息。在本發(fā)明之前的ClkkMapW功能已支持Flash分析 覆蓋,但是該技術(shù)依賴于使用JavaScript來與瀏覽器進(jìn)行通信以便進(jìn)行 跟蹤活動(dòng)?,F(xiàn)在,通過使用Omniture的固有Flash ActionScript跟蹤,能 夠通過固有的Flash ActionScript語言利用其它分析量度自動(dòng)跟蹤 ClickMapTM活動(dòng)。這是通過使用監(jiān)聽器144來完成的,所述監(jiān)聽器144 當(dāng)用戶在可跟蹤的按鈕或電影剪輯上進(jìn)行點(diǎn)擊時(shí)動(dòng)態(tài)生成適當(dāng)?shù)母?代碼。CI ickMap,代碼156可以為已被點(diǎn)擊204的按鈕或電影剪輯自動(dòng) 確定適當(dāng)?shù)膶ο驣D 116。對于ClickMapTM和AutoTrackTM,這可以通過 循環(huán)(索引)對象以確定什么對象ID用于已被點(diǎn)擊的對象(例如,按 鈕或電影剪輯)來實(shí)現(xiàn)。自動(dòng)跟蹤代碼154和ClickMapTM代碼154可以 運(yùn)用該信息來捕捉關(guān)于哪個(gè)對象被點(diǎn)擊的信息152。在一種原型中,首 先對對象進(jìn)行索引,接著監(jiān)聽活動(dòng)發(fā)生,并且接著代碼循環(huán)被索引的 對象來識別被選擇或激活的對象。
從Flash開發(fā)人員的角度來看,實(shí)現(xiàn)處理以Flash開發(fā)人員向其開發(fā) 環(huán)境添加1580mniture量度擴(kuò)展開始。如這里所討論的,該擴(kuò)展將 Omniture組件添加到開發(fā)環(huán)境的組件庫。在添加了所述擴(kuò)展后,所述組件在開發(fā)環(huán)境中一直可用。下一個(gè)步驟是將組件的實(shí)例從組件庫拖到 要跟蹤的Flash應(yīng)用的主時(shí)間行(timelme)上,并且給予其一個(gè)實(shí)例名 稱。接下來,開發(fā)人員利用Omniture所指示的幾行代碼對所述組件進(jìn)行 配置。利用適當(dāng)配置,每個(gè)應(yīng)用可能需要少于五分鐘,這僅僅是向在 Flash中需要進(jìn)行跟蹤的關(guān)鍵事件添加幾行簡單代碼(在大多數(shù)情況下, 僅一條代碼行)的事件,或者使能自動(dòng)跟蹤而無需為每個(gè)事件添加腳 本行。
對量度進(jìn)行組織并向Omniture傳送數(shù)據(jù)的引擎144通常應(yīng)當(dāng)被集 中在與Flash應(yīng)用文件相同的域服務(wù)器上。只要從相同域?qū)ξ募M(jìn)行分 發(fā),無論它們包括在哪個(gè)域上,都能夠適當(dāng)引用所述引擎??赡軓呐c Flash應(yīng)用不同的域引用所述引擎(集中文件)144,但是這需要向所述 集中文件添加附加的許可,以允許不在相同域上的應(yīng)用執(zhí)行功能144。 所述集中文件能夠被替換,和/或按照需要進(jìn)行更新,而無需對引用引 擎144的Flash應(yīng)用進(jìn)行重新編譯。
以下示出了在該方案的一個(gè)版本中在運(yùn)行時(shí)導(dǎo)入集中引擎144的 代碼158的摘錄??蛻舳吮仨殞mnitur組件的實(shí)例拖動(dòng)到他們的Flash 應(yīng)用中,接著將一對代碼行添加到對將要在運(yùn)行時(shí)導(dǎo)入的引擎進(jìn)行配 置并開始跟蹤的Flash應(yīng)用。例如,在將Omniture組件的實(shí)例添加到Flash
應(yīng)用之后,將會(huì)添加以下代碼行158來進(jìn)行跟蹤工作
/*將Omniture組件的實(shí)例(—metrics)注冊為監(jiān)聽器,以知道已 加載analyticsEvents.swf的情況*/
—analytics-addEventL'istener("loaded", this, "onMetricsLoaded");
/*在加載0mnkure分析引擎之后對其進(jìn)行配置*/
function onMetricsLoaded(){
—analytics, account = "devstephenh";
—analytics.pageURL = "http:〃www.flashTest.com";
_analytics.clickMapPage = "Flash AS Test";
—analytics. autoTrack = true;/*指向Ommture分析引擎的位置*/
—analytics.loadEvents("metricsEvents.swf');
可以在Omniture的JavaScript瀏覽器132活動(dòng)和Omniture固有的 Flash ActionScript跟蹤144之間對唯一訪問者量度進(jìn)行同步。缺省地這 是通過數(shù)據(jù)傳輸機(jī)制來完成的。由于該跟蹤引擎運(yùn)用Omniture的服務(wù)器 側(cè)的cookie創(chuàng)建,所以所有的coolde 142 (甚至在相同域設(shè)置的第一方 域cookie 142)連同其唯一訪問者id 140可用于數(shù)據(jù)傳輸210、 222,并 且保存技術(shù)132、 144之間的唯一訪問者計(jì)數(shù),包括Omniture固有的Flash ActionScript跟蹤??梢岳肙mniture固有的Flash ActionScript跟蹤對唯 一訪問者量度進(jìn)行擴(kuò)展以包括唯一跟蹤代碼140而無需使用傳統(tǒng)的瀏 覽器cookie 142。運(yùn)用在Flash環(huán)境中的庫共享對象142(被稱作LSO 142, 本地共享對象142),能夠存儲和保存唯一標(biāo)識符140以唯一識別唯一 訪問者,而沒有個(gè)人可識別信息并處于隱私標(biāo)準(zhǔn)之內(nèi)。
雖然該方案沒有使用getURL(),但是getURL能夠隨其一起使用, 盡管發(fā)明功能并未要求如此。getURL()方法具有重要的限制,并且意味 著要鏈接到其它網(wǎng)頁,例如
getURL("http:〃www.omniture.com")
將會(huì)把瀏覽器重新定向到新的頁面omniture.com 。函數(shù)getURL() 已經(jīng)被運(yùn)用為與瀏覽器進(jìn)行通信的手段。其被用來在瀏覽器層級執(zhí)行 客戶端側(cè)的代碼,諸如重新定向或JavaScript。它對于使用getURL()將 信息傳遞回瀏覽器可能是有用的,諸如Flash可能己經(jīng)存儲在LSO中或 其它地方的唯一ID 140,但是getURL()通常并非是本發(fā)明方案所要求 的。
Flash應(yīng)用106/114能夠獨(dú)立于瀏覽器126運(yùn)行,例如在操作系統(tǒng)122
的上層運(yùn)行,而不需要打開或運(yùn)行瀏覽器。這里所描述的一些方案允 許以這種方式進(jìn)行跟蹤206、 208、 210而不需要運(yùn)行瀏覽器。Flash可以 在運(yùn)行于用戶登錄的瀏覽器之外時(shí)使其因特網(wǎng)連接124到操作系統(tǒng)的缺省瀏覽器,但是當(dāng)呈現(xiàn)106嵌入在HTML代碼中時(shí)Flash使用其所嵌入 的瀏覽器126。這是http請求通過其從FIash播放器到達(dá)因特網(wǎng)并甚至到 達(dá)Omniture 136的手段。Omniture沒有設(shè)計(jì)Flash通信的該特定方法,但 是正在運(yùn)用其功能。如果Flash文件106發(fā)送了關(guān)于加載(閃現(xiàn))的請求, 應(yīng)注意當(dāng)在首次訪問的第一頁面上對其各自分析使用Flash和JavaScript 時(shí)避免cookie競爭(race)。當(dāng)在相同網(wǎng)頁(具有或沒有本發(fā)明)上使 用兩種版本的JavaScnpt時(shí)或者具有兩個(gè)靜態(tài)圖像請求時(shí)也會(huì)發(fā)生 cookie競爭。cookie競爭的概率并不特定于該Flash方案,但是卻值得根 據(jù)分析方案的特定環(huán)境進(jìn)行考慮。
為了進(jìn)一步幫助理解本發(fā)明,以下給出特定代碼,包括來自為原 型書寫并被發(fā)明人使用的.txt文件的計(jì)算機(jī)程序源代碼。所述代碼是以 ActioriScript的腳本編程語言書寫的。應(yīng)理解,本發(fā)明并不限于以下所 給出的特定代碼或特征;該原型代碼僅僅作為實(shí)例。其來自名為 "Omniture—Native一Flash—Tracking—Code一4—17—2006.txt"的文件。
在該代碼中,sendAnalytics()時(shí)生成數(shù)據(jù)字符串的最后部分的函 數(shù),其包括用于SiteCatalyst的定制變量。其循環(huán)對象并且搜索特定變量 和值,然后生成適當(dāng)?shù)淖址?。最后,其將?shù)據(jù)發(fā)送給Omnitui"e。其全 部使用固有的ActionScript來完成。
所述原型包括 "Private Vars [J " 的以下定義
〃發(fā)起檢查錯(cuò)誤的RS檢查,直到mitStrmg()函數(shù)發(fā)現(xiàn)適當(dāng)?shù)闹?br> var —sRSCheck:Stringj
〃為其他函數(shù)保持所定義的電影URL的值(基于imtStnng())
var 一sURLCheck: String;
//私有變量
var —sAccount: String;
var —sDefaultRS: String;
var —sNameSpace: String;var一sCName:String;
var—sURLString;
var _sReferrer:String;
var —sCharSet: String;
var —sCurrencyCode:String;
var —sDefaultPage:String;
var —sDefaultLink: String;
var —sCookieLifetime:String;
var —sScreenRes:String;
var —sClic固apPage:String;
var —sClickMaplD: String;
var —bQickMapSupport:Boolean;
var —b丁estSupport:Boolean;
var —bAutoTrack:Boolean;
var —mcImageLoader:MovieClip;
var —mcMainMovie:MovieClip;
所述原型還包括"Setters"的以下定義,也就是用于設(shè)置特定變 量的值的函—數(shù)
function setAccoimt(val:String):Void { —sAccount = val;
function setNameSpace(val:String):Void ( —sName.Space = val;
}
function setCName(val:String):Void { —sCName = val;
}
function setURL(val:String):Void { 一sURL = val;function setReferrer(val:String): Void { —sReferrer = val;
function setCurrencyCode(val:String):Void { —sCurrencyCode = val;
}
function setCharSet(val:String):Void { —sCharSet = val;
}
function setDefaultPageName(val:String):Void { —sDefaultPage = val;
}
function setDefaultLinkName(val:String):Void { —sDefaultLink = val;
}
function setClickMapPage(val:String):Void { —sClickMapPage = val;
} —
function setCookieLifetime(val:String):Void { —sCookieLifetime = val;
function setTestSupport(val:Boolean):Void { 一bTestSupport 二 val;
function setClickMapSupport(val:Boolean):Void { —bClickMapSupport = val;
function setAutoTrack(val:Boolean):Void〗 bAuto Track = val;MovieClip):Void {
mcMainMovie = val;
所述原型的初始化部分如下對測試中使用的代碼進(jìn)行初始化-一mcImageLoader = this.createEtnptyMovieClip("—mclmageLoader
100);
—sDefaultPage = "Flash Application : Page View";
一sDefaultLink = "Flash Application : Activity";
_sScreenRes = System-capabilities.screenResolutionX+"x"+System.capabilities.screenRes olutionY;
if (—bClickMapSupport) { indexMovie();
所述原型的"公布方法"部分僅僅是空的空的存根(stub),原因 在于從代碼的該測試版本不導(dǎo)出任何方法。
所述原型的部分提供了用于測試ActionScript ClickMap的代碼156 和用于ActionScript的自動(dòng)跟蹤能力的代碼154 。在初始化代碼版本 ("this.VERSION = "1.0.0";")之后,所述代碼跟蹤鼠標(biāo)活動(dòng) 〃將該對象命名為s一clickmaptrace(target); }
〃被onMouseDown()調(diào)用以遞歸發(fā)現(xiàn)點(diǎn)擊 //對象,返回空意味著沒有對象被點(diǎn)擊 function getHitTarget(tree, pref) { for (var name in tree) { var child = tree[name]; 〃確保該對象確實(shí)是該樹的子 if (child . _parent != tree) { continue;
〃對電影剪輯進(jìn)行命中測試
if ((typeof (child) 'movieclip' |1 child instanceof MovieClip) && child.hitTest(jroot.—xmouse, —root, jmouse, true)) { var target 二 this.getHitTarget(child); return target != null target : child; 〃向所有的子按鈕添加onPi:ess事件
}elseif (childinstanceof Button&&child, onPress!-this.buttonHandler) {
child,—ClickMapOldHandler 二 btn-onPress; child.onPress = this,buttonHandler;
return null;
〃這是創(chuàng)建ClickMap事件的位移按鈕onPress處理體 〃然后調(diào)用先前的onPress事件處理體 function buttonHandlerO {
—root's—clickmap.sendClickMapEvent(this); this.一ClickMapOldHandier();〃生成CHckMap事件
function sendClickMapEvent(id) {
—sClickMapID = id;
〃自動(dòng)跟蹤
if (—bAutoTrack) {
trace("" autoTrack Enabled **");
sendLink(—sClickMapPage+" : "+id);
利用所述原型進(jìn)行跟蹤包括對被跟蹤的Flash電影剪輯進(jìn)行索; 可以添加類似代碼來跟蹤其它Flash組件
〃對電影進(jìn)行索引,將結(jié)果放在索引中,并且還返回它們 function indexMovieO {
var str 二 this.buildlndex( root); str = Stage,width+","+Stage.height+'T'+str; this.index = str; return str;
/7獲得電影剪輯或按鈕的幾何形狀 function getGeom(clip) {
var b = clip._parent.getBounds(》 var pt = {x:clip._x, y:ciip.—y}; var pt2 二 {x:clip.—x, yxlip.—y}; 〃獲得左上角 clip.—x = b.xMin; clip.一y = b.yMin; var b2 = clip. _parent.getBounds(); //獲得右下角clip.—x = b.xMax;
clip.一y = b.yMax;
var b3 = clip._parent.getBounds();
〃返回缺省位置
clip.一x = pt.x;
clip.—y = pt.y;
〃發(fā)現(xiàn)角點(diǎn)
pt.x = (b2.xMin-b.xMin); pty += (b2.yMin-b.yMin); pt2.x += (b3.xMax-b.xMax); pt2.y += (b3.yMax-b.yMax);
〃將點(diǎn)轉(zhuǎn)換成全局點(diǎn) clip._parent.localToGlobal(pt); clip.—parent.1ocalToGlobal(pt2);
〃構(gòu)建返回陣列
var geom 二 (x:Math.round(pt.x), y:Math.round(pt.y), w:Math.ceil(pt2.x-pt.x), h:Math.ceil(pt2.y-pt.y)}; return geom;
〃遞歸構(gòu)建電影索引
function buildlndex(node) {
var nodeld = eval(node)+,.';
var str 二 '"';
for (var i in node) {
var obj = node[i];
if (obj !二 null && obj.—name 二= i) { var id = eval(obj)+',"; if (id 二= (nodeld+i)) { var g = getGeom(obj);
str += eval(obj)+","+g.x+",n+g.y+'V,+g.w+","+g.h+"|";str += this.buildlndex(obj); return str;
還提供了方法148、 150來創(chuàng)建208包含跟蹤數(shù)據(jù)152的數(shù)據(jù)字符串, 并將該數(shù)據(jù)字符串發(fā)送222給分析服務(wù)器。在所述原型中,Omniture服 務(wù)器136是目的地,但是本發(fā)明的一些授權(quán)使用—可將信息發(fā)送給由其它 實(shí)體所管理的服務(wù)器。首先,創(chuàng)建所述數(shù)據(jù)字符串的初始部分
〃創(chuàng)建Omniture圖像請求的初始部分
function initStringO {
if (—sAccount != undefined) {
rs = —sAccount;
〃如果rs具有值,貝U—sRSCheck將允許將數(shù)據(jù)發(fā)送到Omniture —sRSCheck = rs;
〃名稱空間(或報(bào)告負(fù)載平衡的合適位置和cookie名稱空間)
var sClientNS:String = —sNameSpace;
var sPreDomain:String = sClientNS;
if (sClientNS == undefined川sClientNS -= "") {
sPreDomain = (—sAccount != undefined) —sAccount : —sDefaultRS;
}
〃應(yīng)進(jìn)行圖像請求的CName var dc:String = 一sCName; if (dc == undefined || dc == "") { dc = "112.2o7.net";
}
〃如果不獲得.swf文件的url ,則獲得當(dāng)前的url (如果可用)var sTempURLString = —sURL;
if (sTempURL undefined || sTempURL "") {
sTempURL = —mcMainMovie.一url;
}
〃使所定義的URL對其他函數(shù)可用 一sURLCheck = sTempURL;
//獲得ssl圖像請求的協(xié)議 .
var sProto:String = sTempURLsubstr(O, 5);
〃用于避免該用戶檢索圖像的"緩沖"版本的隨機(jī)數(shù)
var ra:Number = Math .腦nd(Math週dom()"00000000);
〃如果使用Omniture域
var domainCheck:String = substring(dc, 5, 3);
if (domainCheck =二 "2o7") {
//創(chuàng)建圖像請求的字符串
var slmage:String = 'http:〃'+sPreDomain+'.';
} else {
var slmage:String = 'http:〃';
if (sProto == 'https') { slmage = 'https:〃102.';
}
slmage += dc+'/b/ss/'+rs+Vl/H.4-pdv-2/s'+m+' [AQB]&';
slmage += 'g='+escape(sTempURL);
〃獲得圖像請求的機(jī)器時(shí)間
var cd:Date = new Date();
var ts = cd.getDate();
ts += 7"+cd.getMonth();
ts += 'V"+cd.getFullYear();
ts += " "+cd.getHours();
ts += ":"+cd.getMinutes();ts += ":"+cd.getSeconds();
ts += " "+cd.getDay();
ts += " 〃+cd.getTimezoneOffset();
slmage '&t='+escape(ts);
if (sClientNS != undefined && sClientNS != "") { slmage += '&ns='+escape(sClientNS);
} — —
/**設(shè)置引用器(動(dòng)態(tài)地從瀏覽器設(shè)置,并且傳遞flashvar) 但是確保僅是引用器的第一頁才發(fā)送引用器
if (—sReferrer != undefined && —sReferrer != "") { slmage += '&r-'+escape(一sReferrer);
〃如果設(shè)置它,則應(yīng)僅對定著頁而不是對每個(gè)請求進(jìn)行 —sReferrer= undefined;
}
if (一sCharSet 1= undefined && —sCharSet != "") { slmage += '&ce='+escape(—sCharSet);
} — _
if (—sCurrencyCode !二 undefined && —sCurrencyCode != "") {
slmage 言&cc-'+escape(一sCurrencyCode);
}
if (—sCookieLifetime I二 undefined && —sCookieLifetime != "") { slmage +二 ,&c〗='+escape( sCookieLifetime);
}
slmage +二 '&s二,+escape(—sScreenRes); return (slmage》
ClkkM叩TM數(shù)據(jù)還可以包括在向分析服務(wù)器發(fā)送的數(shù)據(jù)中。所述 原型包括生成ClickMap字符串的函數(shù)148、 156:function buildClickMap() {
var tempString:String;
trace("" clickMapSupport Enabled **");
if (—sClickMapPage != undefined &&—sClickMapPage != "") {
tempString += '&pid='+escape(—sClickMapPage);
tempString += '&pidt=l';
} else {
tempString += '&pid= ' +escape(—sURLCheck); tempString += '&pidt=0';
}
tempString += '&oid= ' +escape(_sClickMapID); tempString += '&oidt=l,; tempString '&ot=FLASH'; return(tempString);
所述原型還包括動(dòng)態(tài)生成20S圖像標(biāo)簽并將其發(fā)送210到分析服 務(wù)器136的函數(shù)148、 150:
〃利用所有屬性等動(dòng)態(tài)構(gòu)建圖像標(biāo)簽
function sendAnalytics(iString:String, obj:Object):Void {
var slmage:String = iStnng;
for (var i in obj) {
var sTempVar.String = i.substr(O, 4);
sTempVar 二 sTempVar.toLowerCase();
var sIName = i;
switch (sTempVar) {
case "prop" : sTempVar = i.substr(4, 2);
sIName 二 ',c"+sTempVar;
break;
case ,,cvW :sTempVar = i.substr(4, 2); sIName 二 'V,+sTempVar; break;
case "chW : sIName = "eh"; break;
case "camp', sIName = "v0"; break;
default: break;
slmage += '&'+sIName+'='+escape(obj[i]);
〃適用于所有的ClickM叩,如果這應(yīng)僅僅用于頁面或鏈接,則 移動(dòng)到頁面或鏈接函數(shù)
if (一bClic固apSupport) { slmage += buildClickMap();
slmage +二 '&[AQE],;
〃版本
var ver—:Array 二 getVersion(),split(""); var p—ver—info:String = ver— var p—ver:String = p—ver—info.substr(O, 1); var p—os:String = ver—[O];
〃如果在線或離線并且版本低于8,則發(fā)送數(shù)據(jù),以避免對于播放 器8的隱私警告
if (—sRSCheck != undefined) {
var IvOmnSend:loadVars = new LoadVars();
var IvOmnRecieve:loadVars = new LoadVars();〃檢査是否在線
if (sProto,substr(O, 4) "http") { var bStatus:Boolean = true; } else {
var bStatus:Boolean = false; if (bStatus) {
lvOmnSend.sendAndLoad(sImage, IvOmnRecieve, "GET");
〃如果在瀏覽器外,并且版本大于7,則不進(jìn)行圖像請求(測試是 否將其設(shè)置為8) } else {
if (p—ver<8||—bTestSupport == true) { if (—bTestSupport == true) { trace("" testSupport Enabled **");
}
IvOmnSend.sendAndLoad(sImage, IvOmnRecieve, "GET");
trace("NOTE; Unless testSupport is enabled (ex.—metrics.testSupport =true;) Version 8 and newer players will not send data outside the browser. \n\n URL Decoded Analytics: "+unescape(slmage)+"\n\n Actual Request: "+sImage》
所述原型還具有用于創(chuàng)建208頁面瀏覽報(bào)告152并且創(chuàng)建208定制 鏈接報(bào)告152的功能148。相對于是頁面上的微級別活動(dòng)的定制鏈接, 頁面瀏覽是宏級別的網(wǎng)頁瀏覽。頁面瀏覽跟蹤對瀏覽了哪些頁面進(jìn)行 跟蹤,也可能跟蹤以什么順序、在哪個(gè)訪問期間、通過哪個(gè)唯一訪問 者等。頁面瀏覽被順序處理并且從所述順序得出路徑分析。多個(gè)頁面瀏覽可歸結(jié)于訪問、唯一訪問者等。定制鏈接跟蹤對那些鏈接被點(diǎn)擊 進(jìn)行跟蹤(同樣,這可以跟蹤以什么順序、在哪個(gè)訪問期間、通過哪 個(gè)唯一訪問者等),并且被稱作"定制"是因?yàn)橘u主(Omniture的客戶) 可以指定跟蹤哪些鏈接。也就是說,術(shù)語"定制鏈接"已經(jīng)被用來識 別客戶已經(jīng)定制代碼以便跟蹤的鏈接。在Flash跟蹤的情況下,可認(rèn)為 沒有使能自動(dòng)跟蹤所進(jìn)行的任意跟蹤在某種意義上是定制的,導(dǎo)致客 戶定制的頁面瀏覽或定制鏈接跟蹤的可能性。原型頁面瀏覽和定制鏈 接代碼如下-
〃創(chuàng)建頁面瀏覽
function sendPage(iName:String, iObj:Object) { var tempString:String = initString(); if (iName == undefined) {
tempString += '&pageName=' +escape(—sURLCheck); }else {
tempString += ,&pageName='+escape(iName);
functionsendLink(iName: String,iObj:Object,linkType: String, exi化ink: String) {
vartemp String: String = initString(); if (linkType != undefined) { if (linkType == "d") { tempString += '&pe=lnk—d'; } else if (linkType == "e") { tempString += '&pe二lnk一e'; }else {
tempString += '&pe=lnk—o';
sendAnalytics(tempString, iObj);
//創(chuàng)建定制鏈接} else { tempString += ,&pe=lnk—o';
}
if (exitLink != undefined && exitLink != "") { tempString += ,&pevl='+escape(exhLink); } else {
tempString += '&pevl'=+escape(—sURLCheck); }
if (iName == undefined) {
tempLinkName = —mcMainMovie.—url+"Link Action"; tempString += '&pev2='+escape(tempLinkName); } else {
tempString += '&pev2'=+escape(iName); sendAnalytics(tempString, iObj);
本領(lǐng)域技術(shù)人員應(yīng)理解,.以上代碼僅是原型,并且在實(shí)現(xiàn)產(chǎn)品時(shí), 可以為了調(diào)試、安全性、改進(jìn)速度或效率等進(jìn)行適當(dāng)改進(jìn)和其它變化。
結(jié)論
例如,雖然本發(fā)明的特定實(shí)施例在這里清楚示出和描述為方法, 但是應(yīng)理解一種類型的實(shí)施例的討論通常也可以擴(kuò)展到其它實(shí)施例類 型。例如,方法的描述也有助于描述設(shè)備、所配置的媒體和方法產(chǎn)品。 對一個(gè)實(shí)施例的限制無需解讀到另一實(shí)施例。
例如,從消費(fèi)者104的角度、Flash開發(fā)人員的角度、網(wǎng)站賣主的角 度或分析服務(wù)提供商136的角度來看,本發(fā)明的操作和/或其它使用是有 效的,但是為了簡明,這里的焦點(diǎn)通常集中在用戶或開發(fā)人員的角度 上。然而,賣主、分析服務(wù)提供商或其它實(shí)體所執(zhí)行的相應(yīng)步驟和/或方法也落入本發(fā)明的范圍之內(nèi)。因此,附圖標(biāo)記202既指接收呈現(xiàn)(用 戶/開發(fā)人員角度)也指發(fā)送呈現(xiàn)(開發(fā)人員/賣主角度)。同樣,附圖 標(biāo)記210既指發(fā)送呈現(xiàn)分析數(shù)據(jù)(用戶/開發(fā)人員角度)也指接收這樣的 數(shù)據(jù)(分析服務(wù)提供商/賣主角度)。
所記載的所有權(quán)利要求作為說明書的一部分并且因而幫助描述本 發(fā)明,并且重復(fù)的權(quán)利要求語言可以按照需要插入權(quán)利要求之外,而 不違背禁止新主題。諸如"一"和"該"的術(shù)語包括一個(gè)或多個(gè)所指 示的項(xiàng)目或步驟。在權(quán)利要求中,在存在/執(zhí)行所述項(xiàng)目或步驟的情況 中沒有明確指示其是可選的情況下,對于項(xiàng)目的引用意味著存在至少 一個(gè)這樣的項(xiàng)目,并且對于步驟的引用意味著執(zhí)行步驟的至少一個(gè)實(shí) 例。這里所提供的標(biāo)題僅是出于便利;關(guān)于給定主題的信息通??梢?在其標(biāo)題指示該主題的部分之外發(fā)現(xiàn)。
諸如所示出的方法或?qū)?yīng)系統(tǒng)的實(shí)施例可以省略項(xiàng)目/步驟、重復(fù) 項(xiàng)目/步驟、對它們進(jìn)行區(qū)分分組、利用類似項(xiàng)目/步驟對它們進(jìn)行補(bǔ)充 或者包括給定示例的變化。本領(lǐng)域技術(shù)人員使用這里所給出的教導(dǎo)以 及編程語言和工具可容易地提供有助于實(shí)施本發(fā)明的適當(dāng)軟件,所述 編程語言和工具包括但不限于(除非明確表達(dá)需要)ActkmScript代碼 以及其它腳本語言、HTML、 XML、 API、 SDK、網(wǎng)絡(luò)協(xié)議堆棧、匯編 語言、固件、微代碼、編譯器、調(diào)試器和/或其它語言和工具。
雖然該文檔包括至少一個(gè)網(wǎng)站地址,但是這樣的地址和因而所尋 址的站點(diǎn)上的素材僅作為背景和/或示例提供以幫助說明本發(fā)明。該文 檔并未通過引用而從那些網(wǎng)站合并任何實(shí)質(zhì)性素材。
這里所討論的實(shí)施例是本發(fā)明原理的說明性應(yīng)用??稍O(shè)計(jì)多種修 改和替代實(shí)施例而并不背離本發(fā)明的精神和范圍。
權(quán)利要求
1. 一種能夠獨(dú)立于網(wǎng)頁腳本進(jìn)行操作的呈現(xiàn)分析引擎(144),包括數(shù)據(jù)捕捉代碼(146),其用于捕捉(206)反映呈現(xiàn)中的用戶(104)動(dòng)作的呈現(xiàn)分析數(shù)據(jù);數(shù)據(jù)結(jié)構(gòu)生成代碼(148),其用于動(dòng)態(tài)生成(208)格式化的呈現(xiàn)分析數(shù)據(jù)結(jié)構(gòu)的至少一部分;和數(shù)據(jù)發(fā)送代碼(150),其用于向分析服務(wù)器發(fā)送(210)所述數(shù)據(jù)結(jié)構(gòu);其中所述呈現(xiàn)分析引擎的特征進(jìn)一步在于它不依賴于任何getURL()或FSCommand調(diào)用來將所捕捉的呈現(xiàn)分析數(shù)據(jù)傳送給嵌入在網(wǎng)頁(128)中的腳本(132),并且也不依賴于嵌入在網(wǎng)頁中的任何呈現(xiàn)分析腳本。
2. 如權(quán)利要求l所述的引擎,進(jìn)一步包括以下的至少一個(gè)自動(dòng) 跟蹤代碼(154)、視f分析覆蓋報(bào)告代碼(156)。
3. 如權(quán)利要求l所述的引擎,與存儲在以下的至少一個(gè)中的唯一 訪問者ID (140)相結(jié)合瀏覽器cookie、本地共享對象、傳輸報(bào)頭。
4. 如權(quán)利要求1所述的引擎,其中所述數(shù)據(jù)發(fā)送代碼(150)包 括以下的至少一個(gè)進(jìn)行圖像請求的代碼、進(jìn)行GET請求的代碼、進(jìn) 行POST請求的代碼、進(jìn)行端口 80請求的代碼、進(jìn)行FTP請求的代碼、 向共享文件寫數(shù)據(jù)的代碼、向共享存儲器寫數(shù)據(jù)的代碼。
5. 如權(quán)利要求1所述的引擎,其中所述引擎(144)包括 ActionScript代碼。
6. 如權(quán)利要求l所述的引擎,與包括ActionScript對象(116)的多媒體呈現(xiàn)(106)相結(jié)合。
7. 如權(quán)利要求l所述的引擎,與以下相結(jié)合web瀏覽器(126);顯示在所述瀏覽器中的網(wǎng)頁(128);和嵌入在所述網(wǎng)頁中的腳本代碼(132),以捕捉反映在所述呈現(xiàn)之外在所述網(wǎng)頁中的用戶動(dòng)作的網(wǎng)頁 分析數(shù)據(jù);并且其中所述引擎不具有用于將呈現(xiàn)分析數(shù)據(jù)與所述網(wǎng)頁 的嵌入腳本代碼進(jìn)行同步的代碼。
8. 如權(quán)利要求7所述的引擎,其中所述網(wǎng)頁的嵌入腳本代碼(132) 包括以下的至少一個(gè)JavaScript代碼、VBScript代碼。
9. 如權(quán)利要求l所述的引擎,與分析服務(wù)器(136)相結(jié)合。
10. 如權(quán)利要求1所述的引擎,與包含用于導(dǎo)入所述引擎的代碼 (158)的多媒體呈現(xiàn)(106)相結(jié)合。
11. 一種ActionScript呈現(xiàn)分析引擎(144),包括 數(shù)據(jù)捕捉代碼(146);其用于捕捉(206)反映呈現(xiàn)(106)中的至少一個(gè)ActionScript對象(116)的用戶激活的ActionScript呈現(xiàn)分析數(shù) 據(jù);和數(shù)據(jù)發(fā)送代碼(150),其用于發(fā)送(210)所捕捉的ActionScript 呈現(xiàn)分析數(shù)據(jù)的至少一部分;其中所述引擎(144)不依賴于所述呈現(xiàn)(106)中的任何特定于 對象的用戶動(dòng)作跟蹤代碼來捕捉所述ActioiiScript呈現(xiàn)分析數(shù)據(jù)。
12. 如權(quán)利要求ll所述的引擎,其中所述引擎也不依賴于任何 getURL()或FSCommand調(diào)用來發(fā)送(210)所捕捉的ActionScript呈現(xiàn)分 析數(shù)據(jù)。
13. 如權(quán)利要求11所述的引擎,其中所述數(shù)據(jù)發(fā)送代碼(150)發(fā)送(210)反映以下的至少一個(gè)的分析數(shù)據(jù)用戶頁面瀏覽活動(dòng)、用 戶鏈接跟隨活動(dòng)、用戶剪輯瀏覽活動(dòng)、用戶按鈕按壓活動(dòng)、用戶回放 完成百分比、呈現(xiàn)閃現(xiàn)計(jì)數(shù)。
14. 如權(quán)利要求11所述的引擎,與呈現(xiàn)播放器(114)相結(jié)合, 所述呈現(xiàn)播放器(114)與所述呈現(xiàn)相兼容并且提供與所述至少一個(gè) ActionScnpt對象的用戶(104)交互。
15. 如權(quán)利要求14所述的引擎和播放器的組合,其中以下的至少 一個(gè)有效所述播放器(114)包括Flash呈現(xiàn)播放器;所述播放器(114) 包括Flex呈現(xiàn)播放器;所述播放器(114)包括到web瀏覽器(126) 的插件;所述呈現(xiàn)(106)至少部分地嵌入在網(wǎng)頁(128)中;所述呈 現(xiàn)(106)至少部分地存儲在非易失性可移動(dòng)的計(jì)算機(jī)可讀存儲介質(zhì)(112)上;所述播放器(114)運(yùn)行在計(jì)算機(jī)上;所述播放器(114) 運(yùn)行在手持設(shè)備上。
16. —種用于獨(dú)立地跟蹤ActicmScript呈現(xiàn)活動(dòng)的方法,包括 在設(shè)備(102)上接收包含ActionScript對象(116)的多媒體呈現(xiàn)(106);捕捉(206)反映用戶(104)與所述多媒體呈現(xiàn)(106)的ActionScript 對象的交互的呈現(xiàn)分析數(shù)據(jù);和 發(fā)送(210)呈現(xiàn)分析數(shù)據(jù);其中所述方法的操作不依賴于以下的每一個(gè)或全部getURL()或 FSCommand調(diào)用、嵌入在網(wǎng)頁中的JavaScript代碼、嵌入在網(wǎng)頁(128) 中的VBScript代碼。
17. 如權(quán)利要求16所述的方法,其中所述發(fā)送步驟(210)包括 以下的至少一個(gè)進(jìn)行圖像請求、進(jìn)行GET請求、進(jìn)行POST請求、 進(jìn)行端口80請求、進(jìn)行FTP請求、向共享文件寫數(shù)據(jù)、向共享存儲器 寫數(shù)據(jù)。
18. 如權(quán)利要求16所述的方法,其中所述方法的操作不依賴于以下的每一個(gè)或全部getURL()或FSCommand調(diào)用、嵌入在網(wǎng)頁(128) 中的JavaScript代碼、嵌入在網(wǎng)頁(128)中的VBScript代碼、所述多 媒體呈現(xiàn)(106)中的特定于對象的用戶動(dòng)作跟蹤代碼。
19. 如權(quán)利要求16所述的方法,進(jìn)一步包括以下的至少一個(gè)自 動(dòng)跟蹤(212)用戶與所述多媒體呈現(xiàn)的交互、提供(214)關(guān)于用戶 與所述多媒體呈現(xiàn)的交互的視覺分析覆蓋報(bào)告。
20. 如權(quán)利要求19所述的方法,進(jìn)一步包括 在所述設(shè)備上接收(216)具有所嵌入的web跟蹤機(jī)制的網(wǎng)頁; 利用所嵌入的web跟蹤機(jī)制捕捉(220)反映用戶與所述網(wǎng)頁的交互的web分析數(shù)據(jù);向分析服務(wù)器(136)發(fā)送(222) web分析數(shù)據(jù)。
21. 如權(quán)利要求20所述的方法,其中向分析服務(wù)器發(fā)送(222) web分析數(shù)據(jù)的所述步驟關(guān)聯(lián)于相^的訪問者ID對其進(jìn)行發(fā)送,并且 發(fā)送(210)呈現(xiàn)分析數(shù)據(jù)的所述步驟關(guān)聯(lián)于相同的訪問者ID向所述 分析服務(wù)器發(fā)送該數(shù)據(jù),而無需在執(zhí)行所述web分析步驟的代碼和執(zhí) 行所述呈現(xiàn)分析步驟的代碼之間進(jìn)行通信。
22. 如權(quán)利要求16所述的方法,進(jìn)一步包括在所述設(shè)備動(dòng)態(tài)生成 (208)包含呈現(xiàn)分析數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。
全文摘要
提供了獨(dú)立于網(wǎng)頁中所使用的嵌入JavaScript web分析代碼而支持諸如Flash或Flex分析之類的呈現(xiàn)分析的工具和技術(shù)??稍贏ctionScript中實(shí)現(xiàn)的呈現(xiàn)分析引擎包括用于捕捉與多媒體呈現(xiàn)的用戶交互相關(guān)的信息(146)的代碼,用于動(dòng)態(tài)生成反映所捕捉信息的字符串(148)或其它數(shù)據(jù)結(jié)構(gòu)的代碼,以及用于不使用getURL()調(diào)用或所嵌入的JavaScript而將所述數(shù)據(jù)結(jié)構(gòu)(150)發(fā)送到分析服務(wù)器的代碼。還提供了用于追蹤對象不需要特定于對象的代碼(154)的功能,用于動(dòng)態(tài)發(fā)送這樣的跟蹤信息(156)的功能,以及用于支持說明這樣的信息(152)的視覺呈現(xiàn)分析覆蓋報(bào)告。Flash呈現(xiàn)分析可以使用與標(biāo)準(zhǔn)的JavaScript分析相同的訪問者ID,而無需對兩種分析代碼進(jìn)行同步。
文檔編號G06F15/00GK101454764SQ200780014724
公開日2009年6月10日 申請日期2007年2月1日 優(yōu)先權(quán)日2006年4月25日
發(fā)明者斯蒂芬·哈蒙德 申請人:奧姆尼圖雷有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1