相關(guān)申請的交叉引用
該申請是于2014年4月30日提交的美國臨時專利申請序列號no.61/986,815的非臨時專利申請。相應(yīng)地,該非臨時專利申請根據(jù)35u.s.c.§119(e)要求美國臨時專利申請序列號no.61/986,815的優(yōu)先權(quán)。臨時專利申請序列號no.61/986,815在此全部并入。
背景技術(shù):
使用軟件開發(fā)套件(sdk)可以構(gòu)建應(yīng)用。
附圖說明
圖1示出根據(jù)本發(fā)明一個或多個實施方式的系統(tǒng)。
圖2示出根據(jù)本發(fā)明一個或多個實施方式的具有本地sdk平臺的系統(tǒng)。
圖3示出根據(jù)本發(fā)明一個或多個實施方式用于使用本地sdk平臺服務(wù)于對深層鏈接的請求的流程圖。
圖4a示出根據(jù)本發(fā)明一個或多個實施方式的具有本地sdk平臺實例的系統(tǒng)。
圖4b示出根據(jù)本發(fā)明一個或多個實施方式的本地sdk平臺實例。
圖5示出根據(jù)本發(fā)明一個或多個實施方式的計算系統(tǒng)。
技術(shù)實現(xiàn)要素:
通常,在一個方面,本發(fā)明一個或多個實施方式涉及一種計算系統(tǒng),包括:第一應(yīng)用,其包括第一本地軟件開發(fā)套件(sdk)平臺實例,其中第一本地sdk平臺實例包括第一非核心sdk模塊實例、應(yīng)用發(fā)現(xiàn)模塊以及應(yīng)用間通信模塊;第二應(yīng)用,其包括第二本地sdk平臺實例,其中,所述第一非核心sdk模塊實例被配置為:將請求發(fā)放到應(yīng)用發(fā)現(xiàn)模塊,其中,在接收到所述請求時,發(fā)現(xiàn)模塊被配置為:確定第二本地sdk平臺實例包括被配置為服務(wù)于所述請求的第二非核心sdk模塊實例,其中,第一本地sdk平臺實例基于所述確定而被配置為:基于第一本地sdk平臺實例所收集的數(shù)據(jù)生成與第二應(yīng)用關(guān)聯(lián)的深層鏈接,以及將深層鏈接提供給第一非核心sdk模塊。
在另一方面,本發(fā)明的一個或多個實施方式涉及一種用于使用服務(wù)請求的方法,包括:在第一應(yīng)用中從本地sdk平臺實例接收深層鏈接;接收第一應(yīng)用的用戶已經(jīng)選擇所述深層鏈接的指示;以及響應(yīng)于所述指示觸發(fā)啟動第二應(yīng)用,其中,第一應(yīng)用和第二應(yīng)用皆安裝在計算系統(tǒng)上,并且,其中使用第一應(yīng)用中的至少一個非核心sdk模塊實例所獲得的數(shù)據(jù)生成所述深層鏈接。
在又一方面,本發(fā)明一個或多個實施方式涉及一種非易失性計算機可讀介質(zhì),包括計算機可讀程序代碼,用于:在第一應(yīng)用中從本地sdk平臺實例接收深層鏈接;接收第一應(yīng)用的用戶已經(jīng)選擇所述深層鏈接的指示;以及響應(yīng)于所述指示觸發(fā)啟動第二應(yīng)用,其中,第一應(yīng)用和第二應(yīng)用皆安裝在計算系統(tǒng)上,并且,其中使用所述第一應(yīng)用中的至少一個非核心sdk模塊實例所獲得的數(shù)據(jù)生成所述深層鏈接。
具體實施方式
現(xiàn)將參照附圖詳細(xì)描述本發(fā)明的特定實施方式。在對本發(fā)明實施方式的以下詳細(xì)描述中,闡述眾多特定細(xì)節(jié)以提供本發(fā)明更透徹的理解。然而,本領(lǐng)域技術(shù)人員應(yīng)理解,可以在沒有這些具體細(xì)節(jié)的情況下實踐本發(fā)明。在其它實例中,并未詳細(xì)描述公知特征,以免不必要地使得描述變得復(fù)雜。
在圖1-圖5的以下描述中,本發(fā)明的各個實施方式中,關(guān)于附圖所描述的任何組件可以與關(guān)于任何其它附圖所描述的一個或多個類似命名的組件等效。為了簡明,不會就每個附圖重復(fù)描述這些組件。因此,每個附圖的組件中的每一個實施方式通過引用而并入而且假設(shè)為可選地出現(xiàn)在具有一個或多個類似命名的組件的每一其它附圖內(nèi)。此外,根據(jù)本發(fā)明各個實施方式,對附圖組件的任何描述應(yīng)解釋為可選實施方式,該可選實施方式可以另外地、結(jié)合地或替代地就任何其它附圖中對應(yīng)的類似命名的組件所描述的實施方式而實現(xiàn)。
在以下描述中,本地軟件開發(fā)套件(sdk)平臺可以指圖2所示的本地sdk平臺或圖4a-圖4b所示的本地sdk平臺實例。
通常,本發(fā)明的一個或多個實施方式涉及一種sdk平臺。sdk平臺包括:(i)sdk平臺后端,以及(ii)本地sdk平臺和/或本地sdk平臺實例,其運行在計算系統(tǒng)上的現(xiàn)有操作系統(tǒng)上。此外,在本發(fā)明的一個或多個實施方式中,sdk平臺提供使得能夠在實現(xiàn)sdk平臺所支持的sdk模塊的其它應(yīng)用之間共享數(shù)據(jù)的機制。在本發(fā)明的一個或多個實施方式中,sdk平臺提供在應(yīng)用之間進行通信的標(biāo)準(zhǔn)化方式,從而一個應(yīng)用的開發(fā)者可以通過一致的方式調(diào)用另一應(yīng)用內(nèi)部的目標(biāo)動作。此外,sdk平臺以及sdk平臺所支持的sdk的一致的使用可以使得遠(yuǎn)程第3方(例如正在部署sdk平臺的第3方)能夠精確地確定在用戶設(shè)備(又稱為計算系統(tǒng))上是否安裝了應(yīng)用。sdk平臺還有利于sdk平臺后端與本地sdk平臺和/或本地sdk平臺實例之間的數(shù)據(jù)通信。
圖1示出根據(jù)本發(fā)明一個或多個實施方式的系統(tǒng)。該系統(tǒng)包括:計算系統(tǒng)(100)(見例如圖5),其可操作地連接到后端服務(wù)(又稱為sdk平臺后端)和/或第3方服務(wù)(105)。在本發(fā)明的一個實施方式中,后端服務(wù)(105)對應(yīng)于可遠(yuǎn)程訪問本地sdk平臺(見例如圖2)和/或本地sdk平臺實例(見例如圖4a-圖4b)的計算服務(wù)。后端服務(wù)(105)可以由生成和/或發(fā)布sdk模塊(見例如圖2、圖4a和圖4b)的同一實體來實現(xiàn)。后端服務(wù)(105)可以在一個或多個計算系統(tǒng)上實現(xiàn)。第3方服務(wù)(105)對應(yīng)于所有其它遠(yuǎn)程計算服務(wù)(排除由后端服務(wù)所提供的計算服務(wù)),其中,使用一個或多個計算系統(tǒng)(如下在圖5中描述)實現(xiàn)這些第3方服務(wù)。以下描述后端服務(wù)和/或第3方服務(wù)(105)的各種非限定性示例。
在本發(fā)明的一個實施方式中,計算系統(tǒng)(100)可以僅與后端服務(wù)直接進行通信。在這些情況下,如果計算系統(tǒng)上的應(yīng)用正嘗試與第3方服務(wù)進行通信,則這些請求被發(fā)送到后端服務(wù),后端服務(wù)隨后將請求發(fā)送到第3方服務(wù)。在本發(fā)明的其它實施方式中,計算系統(tǒng)可以與第3方服務(wù)直接進行通信。在本發(fā)明的其它實施方式中,計算系統(tǒng)可以實現(xiàn)前述兩種實施方式。
在本發(fā)明的一個實施方式中,sdk平臺后端(105)提供對sdk的支持服務(wù)。例如,sdk平臺可以提供關(guān)于sdk的市場,并且提供用于執(zhí)行(以下所描述的)非核心sdk模塊實例的服務(wù)器側(cè)服務(wù)。換言之,sdk開發(fā)者可以創(chuàng)建非核心sdk模塊實例并且將非核心sdk模塊實例發(fā)送到sdk平臺后端。sdk平臺后端可以提供sdk市場服務(wù),從而軟件應(yīng)用開發(fā)者可以購買或以其他方式獲得非核心sdk模塊實例,并且將非核心sdk模塊實例合并到軟件應(yīng)用中。sdk模塊(例如非核心sdk模塊實例)是協(xié)助創(chuàng)建軟件應(yīng)用的軟件開發(fā)工具集合。sdk模塊可以是采取庫的形式的、一個或多個應(yīng)用編程接口(api)的實現(xiàn)。sdk模塊可以被編譯并提供給sdk平臺后端。
在本發(fā)明的一個或多個實施方式中,sdk平臺后端(105)也可以提供關(guān)于軟件應(yīng)用的應(yīng)用市場。應(yīng)用市場是通過硬件和軟件來支持的虛擬網(wǎng)絡(luò)空間,其將軟件應(yīng)用的消費者與軟件應(yīng)用的開發(fā)者連接起來并且促進軟件應(yīng)用的交換。在本發(fā)明的至少一些實施方式中,應(yīng)用市場是可經(jīng)由互聯(lián)網(wǎng)訪問的公開市場。
在本發(fā)明的一個實施方式中,sdk平臺后端包括數(shù)據(jù)倉(repository)(未示出)。數(shù)據(jù)倉是任何類型的用于存儲數(shù)據(jù)的存儲單元和/或設(shè)備(例如文件系統(tǒng)、數(shù)據(jù)庫、表集合或任何其它存儲機構(gòu))。此外,數(shù)據(jù)倉可以包括多個不同的存儲單元和/或設(shè)備。所述多個不同的存儲單元和/或設(shè)備可以是相同類型的或位于相同物理地點或者可以不是相同類型的或位于相同物理地點。數(shù)據(jù)倉包括用于存儲例如系統(tǒng)配置數(shù)據(jù)和用戶數(shù)據(jù)的功能。在不脫離本發(fā)明的情況下,可以在數(shù)據(jù)倉中存儲其它數(shù)據(jù)。
在本發(fā)明的一個或多個實施方式中,系統(tǒng)配置數(shù)據(jù)包括對已經(jīng)加載包括非核心sdk模塊實例(見圖2、圖4a-圖4b)的應(yīng)用的所有計算系統(tǒng)(見例如圖1中的100)的硬件和/或軟件配置進行描述的數(shù)據(jù)。用于特定系統(tǒng)的系統(tǒng)配置數(shù)據(jù)可以包括:標(biāo)識計算設(shè)備上所加載的所有非核心sdk模塊實例(見圖2、圖4a-圖4b)。系統(tǒng)配置數(shù)據(jù)可以包括操作系統(tǒng)標(biāo)識符、設(shè)備制造商名稱和型號名稱、web瀏覽器名稱以及系統(tǒng)配置的任何其它標(biāo)識信息。用于特定系統(tǒng)配置的系統(tǒng)配置數(shù)據(jù)可以包括附加信息,例如系統(tǒng)配置所提供的功能、系統(tǒng)配置的組件、特定系統(tǒng)配置的已知缺陷、其它類似信息或其組合。
在本發(fā)明的一個或多個實施方式中,用戶數(shù)據(jù)對應(yīng)于關(guān)于特定用戶(例如計算系統(tǒng)(圖1中的100)的用戶)的數(shù)據(jù)。用戶數(shù)據(jù)可以包括用戶資料(profile)和系統(tǒng)配置標(biāo)識符。用戶資料包括關(guān)于用戶的信息。例如,用戶資料可以包括管理信息(例如姓名、地址、電子郵件地址以及其它類似信息)、市場歷史信息(例如用于市場上的購買的金融賬戶信息、從市場購買的一個或多個應(yīng)用以及其它貨物的標(biāo)識符)、安全信息(例如賬戶證書、關(guān)于密碼重置的安全問題、其它安全有關(guān)信息)、或其它信息或其組合。系統(tǒng)配置標(biāo)識符是對用于用戶正在使用的計算系統(tǒng)的對應(yīng)系統(tǒng)配置數(shù)據(jù)的引用。系統(tǒng)配置數(shù)據(jù)可以是用戶數(shù)據(jù)的部分,而不是具有分離的系統(tǒng)配置數(shù)據(jù)和用戶數(shù)據(jù)。
用戶數(shù)據(jù)可以還包括其中一些或所有以下信息:(i)計算系統(tǒng)上的、包括非核心sdk模塊實例的應(yīng)用的數(shù)量;(ii)基于每應(yīng)用在計算系統(tǒng)中實現(xiàn)非核心sdk模塊實例的信息;(iii)提供從計算設(shè)備獲得的非核心sdk模塊實例使用情況的本地收集的分析信息;(iv)包括非核心sdk模塊實例的每個應(yīng)用的應(yīng)用名稱(或另外標(biāo)識符);和/或(v)用于包括非核心sdk模塊實例的每個應(yīng)用的應(yīng)用特征的列表。前述信息可以使用任何通信機制、以任何數(shù)據(jù)格式傳遞到后端服務(wù)/第3方服務(wù)(105)。
可以通過符合所適用的用戶隱私法的任何方式存儲用戶資料中的數(shù)據(jù)。此外,可以通過匿名化形式存儲用戶資料中的數(shù)據(jù)。
在本發(fā)明的一個實施方式中,計算系統(tǒng)(100)執(zhí)行一個或多個應(yīng)用(103a、103b),其中,所述一個或多個應(yīng)用(103a、103b)實現(xiàn)/包括本地sdk平臺或本地sdk平臺實例所支持的至少一個非核心sdk模塊實例(即sdk模塊的實例)。在本發(fā)明的一個實施方式中,應(yīng)用對應(yīng)于可以通過計算系統(tǒng)100執(zhí)行的可執(zhí)行代碼。每個非核心sdk模塊在實現(xiàn)該非核心sdk模塊的應(yīng)用內(nèi)提供特定類型的功能。非核心sdk模塊的示例包括但不限于:(i)身份sdk模塊,其在應(yīng)用內(nèi)提供標(biāo)識和/或驗證功能(例如,以允許用戶登錄到應(yīng)用中);(ii)貨幣化sdk模塊,其允許應(yīng)用在應(yīng)用內(nèi)顯示廣告(例如原生以及非廣告);(iii)支付sdk模塊,其允許應(yīng)用支持應(yīng)用內(nèi)支付(例如,用戶可以在不離開應(yīng)用情景的情況下購買貨物和/或服務(wù));以及(iv)分析模塊,其允許開發(fā)者檢測應(yīng)用并隨后收集各種類型的分析信息(例如,誰正使用該應(yīng)用,應(yīng)用正被如何使用等)。
連同任何已知的或未來發(fā)現(xiàn)的通信協(xié)議一起使用有線網(wǎng)絡(luò)或無線網(wǎng)絡(luò)的任何組合,計算系統(tǒng)(100)可以連接到后端服務(wù)/第3方服務(wù)(105)。
本發(fā)明不限于圖1所示的系統(tǒng)架構(gòu)。
圖2示出根據(jù)本發(fā)明一個或多個實施方式的具有本地sdk平臺(201)的系統(tǒng)。在本發(fā)明的一個或多個實施方式,本地sdk平臺(201)使得同一計算系統(tǒng)(100)上執(zhí)行的應(yīng)用(203a、203b)能夠共享數(shù)據(jù)。此外,本地sdk平臺(201)使得計算系統(tǒng)(100)上的應(yīng)用(203a、203b)能夠調(diào)用計算系統(tǒng)(100)上的其它應(yīng)用(203a、203b)的功能。
在本發(fā)明的一個或多個實施方式中,本地sdk平臺(201)包括應(yīng)用發(fā)現(xiàn)模塊(adm)(211),其包括用于發(fā)現(xiàn)計算系統(tǒng)(100)上的應(yīng)用(203a、203b)中的哪個(些)具有一個或多個非核心sdk模塊實例(207a、207b)的功能。此外,adm(211)可以包括如下功能:(經(jīng)由應(yīng)用sdk平臺接口(209a、209b))詢問每個這種應(yīng)用以確定在每一個應(yīng)用(203a、203b)中存在哪些特定的非核心模塊(207a、207b)??商娲兀ǚ呛诵膕dk模塊實例(207a、207b)的應(yīng)用(203a、203b)可以將該信息公開和/或“推送”到adm(211)。adm(211)也可以被配置為:將所收集和/或接收到的信息存儲在可操作地連接到本地sdk平臺(201)(或在本地sdk平臺(201)內(nèi))的數(shù)據(jù)結(jié)構(gòu)中。本地sdk平臺(201)可以然后以在此所描述的方式使用該信息。
本地sdk平臺(201)可以還包括應(yīng)用間通信模塊(iacm)(205),其使得包括sdk平臺接口(209a、209b)的應(yīng)用(203a、203b)能夠進行通信。在本發(fā)明的一個或多個實施方式中,本地sdk平臺(201)可以還包括如下功能:從在計算系統(tǒng)(100)上執(zhí)行的應(yīng)用(203a、203b)接收請求,并且將這些請求(經(jīng)過修改或不修改)轉(zhuǎn)發(fā)到后端服務(wù)/第3方服務(wù)(105),并且將從后端服務(wù)/第3方服務(wù)(105)接收到的響應(yīng)(經(jīng)過修改或不修改)提供給應(yīng)用(203a、203b)。
此外,本地sdk平臺(201)可以將其已經(jīng)(例如通過使用adm(211))收集的信息提供給后端服務(wù)/第3方服務(wù)(105)。例如,本地sdk平臺(201)可以將其中一些或所有以下信息發(fā)送到后端服務(wù)/第3方服務(wù)(105):(i)計算系統(tǒng)上的、包括非核心sdk模塊實例的應(yīng)用的數(shù)量;(ii)基于每應(yīng)用在計算系統(tǒng)中實現(xiàn)非核心sdk模塊實例的信息;(iii)提供非核心sdk模塊實例使用情況的本地收集的分析信息;(iv)包括非核心sdk模塊實例的每個應(yīng)用的應(yīng)用名稱(或另外標(biāo)識符);和/或(v)用于包括非核心sdk模塊實例的每個應(yīng)用的應(yīng)用特征的列表。前述信息可以使用任何通信機制、以任何數(shù)據(jù)格式傳遞到后端服務(wù)/第3方服務(wù)(105)。
在本發(fā)明的一個或多個實施方式中,每次應(yīng)用(203a)被安裝在計算系統(tǒng)(100)上(其中,該應(yīng)用(203a)包括至少一個非核心sdk模塊實例(207a))時,應(yīng)用(203a)就(經(jīng)由sdk平臺接口(209a))向本地sdk平臺(201)發(fā)送消息以指示該應(yīng)用(203a)已安裝,并且本地sdk平臺(201)將關(guān)于該安裝的信息發(fā)送到后端服務(wù)/第3方服務(wù)(105)。后端服務(wù)/第3方服務(wù)(105)然后記錄該信息,并且跟蹤在計算系統(tǒng)(100)上存在哪些包括非核心sdk模塊的應(yīng)用。
在本發(fā)明的一個或多個實施方式中,計算系統(tǒng)(100)上的一個或多個應(yīng)用(203a、203b)包括一個或多個非核心sdk模塊實例(207a、207b)、(本地sdk平臺不支持的)其它sdk模塊和/或其它自定義代碼。如果應(yīng)用(203a、203b)包括一個或多個非核心sdk模塊實例(207a、207b),則應(yīng)用(203a、203b)還可以包括sdk平臺接口(209a、209b),其允許非核心sdk模塊(207a、207b)與本地sdk平臺(201)進行通信,將數(shù)據(jù)提供給本地sdk平臺(201)和/或從本地sdk平臺(201)接收數(shù)據(jù)。包括非核心sdk模塊的應(yīng)用可以:(i)將請求直接發(fā)放到計算系統(tǒng)os和/或后端服務(wù)和/或第3方服務(wù);和/或(ii)經(jīng)由sdk平臺接口將請求發(fā)放到本地sdk平臺。
雖然圖2中未示出,但計算系統(tǒng)(100)可以包括:不包括非核心sdk模塊和/或本地sdk平臺(201)不支持的其它應(yīng)用。本發(fā)明不限于圖2所示的系統(tǒng)架構(gòu)。
在本發(fā)明的一個或多個實施方式中,本地sdk平臺(201)使用深層鏈接,以使得一個應(yīng)用(203a)能夠發(fā)起/觸發(fā)同一計算系統(tǒng)(100)上另一應(yīng)用203b中的動作。在本發(fā)明的一個實施方式中,深層鏈接是鏈接到目標(biāo)應(yīng)用內(nèi)的特定位置的統(tǒng)一資源標(biāo)識符(uri)。此外,深層鏈接可以包括其它信息,例如深層鏈接的源(即,發(fā)起深層鏈接的應(yīng)用、關(guān)于目標(biāo)應(yīng)用中的位置的信息、在前述位置處的目標(biāo)應(yīng)用可以使用的信息)。以下是示例性深層鏈接:myapp://make_purchase?referral=app2&product_id=20&guid=100。在該示例中,目標(biāo)應(yīng)用是myapp,源應(yīng)用是app2(即在計算設(shè)備上執(zhí)行的另一應(yīng)用),并且從app2傳遞到myapp的信息是productid=20和guid=100。
圖3示出根據(jù)本發(fā)明一個或多個實施方式的用于使用本地sdk平臺(201)服務(wù)于對深層鏈接的請求的流程圖。雖然流程圖中的各個步驟是依次出現(xiàn)并描述的,但本領(lǐng)域技術(shù)人員應(yīng)理解,一些或所有步驟可以按不同順序執(zhí)行,可以組合或省略,并且一些或所有步驟可以并行執(zhí)行。
在步驟300中,從第一應(yīng)用(203a)中的非核心sdk模塊實例(207a)(或例如本地sdk平臺實例(401a))接收請求。該請求可以對應(yīng)于對應(yīng)響應(yīng)中包括深層鏈接的請求。例如,該請求可以用于原生廣告,其中,回應(yīng)的原生廣告包括對計算系統(tǒng)上執(zhí)行的另一應(yīng)用的深層鏈接。在請求之時,進行請求的應(yīng)用可以不一定要求具有深層鏈接的響應(yīng),例如,在該應(yīng)用請求原生廣告的情況下,在此進行請求的應(yīng)用能夠接收任何原生廣告作為響應(yīng)(包括包含或不包含深層鏈接的原生廣告)。在本發(fā)明的一個或多個實施方式中,請求可以是對深層鏈接的顯式請求。例如,進行請求的應(yīng)用可以包括“purchase”按鈕,其在由應(yīng)用的用戶選中時觸發(fā)購買動作。然而,如果應(yīng)用并非原生支持購買動作,則該應(yīng)用可以將請求發(fā)送到本地sdk平臺(201),以獲得對于可以處理購買動作的計算系統(tǒng)(100)上的另一應(yīng)用的深層鏈接,或獲得應(yīng)用的深層鏈接,所述應(yīng)用為必須下載到計算系統(tǒng)(100)上然后使用深層鏈接中的信息來啟動。這些示例并非意圖限制本發(fā)明的范圍。
在步驟302中,請求從非核心sdk模塊實例(207a)(或例如本地sdk平臺實例(401a))經(jīng)由sdk平臺接口(209a、209b)轉(zhuǎn)發(fā)到本地sdk平臺(201)。
在步驟304中,本地sdk平臺(201)確定計算系統(tǒng)(100)上的另一應(yīng)用(203b)是否可以服務(wù)于請求。如上所述,本地sdk平臺(201)可以包括adm(211),其包括用于發(fā)現(xiàn)本地sdk平臺(201)支持哪些應(yīng)用(其包括非核心sdk模塊)的功能。該信息可以用于服務(wù)于請求。例如,如果請求是用于購買動作,則本地sdk平臺(201)可以包括用于確定是否有(包括非核心sdk模塊的)任何應(yīng)用可以服務(wù)于該請求(即,可以服務(wù)于購買動作)的功能。在另一示例中,如果請求是用于原生廣告,則該請求可能需要由后端服務(wù)或第3方服務(wù)(105)來提供服務(wù)。例如,該請求可以被發(fā)送到后端服務(wù)(例如twitter),以獲得原生廣告。在另一示例中,所述請求可以被發(fā)送到后端服務(wù),后端服務(wù)隨后將請求發(fā)送到第3方服務(wù)(例如第3方廣告交易平臺)。第3方廣告交易平臺于是可以將原生廣告提供給后端服務(wù),其可以修改原生廣告以包括深層鏈接(例如對當(dāng)用戶點擊原生廣告中的按鈕時將要觸發(fā)的計算設(shè)備上的應(yīng)用的深層鏈接)。修改后的原生廣告于是可以被返回到計算系統(tǒng)(100)。
繼續(xù)圖3的討論,在步驟306中,當(dāng)計算系統(tǒng)(100)上的另一應(yīng)用(203b)可以服務(wù)于請求時(如步驟304中所確定的那樣),則處理進入步驟312;否則,處理進入步驟308。
在步驟308中,當(dāng)所述請求無法由計算系統(tǒng)(100)上目前存在的另一應(yīng)用(203b)來服務(wù)時,于是向后端服務(wù)或第3方服務(wù)(105)(見以上所討論的示例)發(fā)送請求。
在步驟310中,后端服務(wù)或第3方服務(wù)(105)提供可以包括深層鏈接的響應(yīng)??紤]以下第一示例:如果請求是用于原生廣告,則后端服務(wù)或第3方服務(wù)(105)可以(使用任何已知的選擇方法)選擇原生廣告,并且將深層鏈接合并到原生廣告中。在該示例中,深層鏈接可以對應(yīng)于計算系統(tǒng)(100)上存在的應(yīng)用,并且可以指定:當(dāng)應(yīng)用啟動時,通過計算系統(tǒng)(100)上的用戶接口最初向用戶顯示什么屏幕。在第一示例中,后端服務(wù)或第3方服務(wù)(105)包括關(guān)于在計算系統(tǒng)(100)上存在哪些應(yīng)用以及每個這些應(yīng)用的功能的信息(其可以從本地sdk平臺(201)獲得)。
考慮以下第二示例:如果請求是用于原生廣告,則后端服務(wù)或第3方服務(wù)(105)可以(使用任何已知的選擇方法)選擇原生廣告,并且然后將深層鏈接合并到原生廣告中。在該示例中,深層鏈接可以對應(yīng)于未出現(xiàn)在計算系統(tǒng)(100)上的應(yīng)用,并且也可以指定:當(dāng)應(yīng)用啟動時,通過計算系統(tǒng)上的用戶接口最初向用戶顯示什么屏幕。在第二示例中,后端服務(wù)或第3方服務(wù)(105)包括關(guān)于哪些其它應(yīng)用可供下載在計算系統(tǒng)(100)上以及每個這些應(yīng)用的功能的信息。
考慮以下第三示例:如果請求是用于原生廣告,則后端服務(wù)或第3方服務(wù)(105)可以(使用任何已知的選擇方法)選擇原生廣告,然后將對支持例如購買動作的網(wǎng)站的鏈接合并到原生廣告中。該情況可以出現(xiàn)在如下情形中:在計算系統(tǒng)(100)上不存在應(yīng)用,或沒有應(yīng)用可供下載到能夠支持所需功能的計算系統(tǒng)(100)上。
在步驟312中,如果方法經(jīng)由步驟310到達步驟312,則(在步驟310中生成的)響應(yīng)(經(jīng)過修改或不修改)經(jīng)由sdk平臺接口(209a、209b)被發(fā)送到第一應(yīng)用(203a)中的非核心sdk模塊(207a)(或例如本地sdk平臺實例(401a));可替代地,如果方法經(jīng)由步驟306到達步驟312,則本地sdk平臺(201)首先生成響應(yīng)深層鏈接,其中,深層鏈接可以對應(yīng)于出現(xiàn)在計算系統(tǒng)(100)上的應(yīng)用,并且可以指定:當(dāng)應(yīng)用啟動時,通過計算系統(tǒng)(100)上的用戶接口最初向用戶顯示什么屏幕。本地sdk平臺(201)能夠在不從后端服務(wù)和/或第3方服務(wù)(105)請求信息的情況下生成響應(yīng)。所生成的響應(yīng)然后發(fā)送到第一應(yīng)用中的非核心sdk模塊(207a)(或例如本地sdk平臺實例(401a))。
在步驟314中,在第二應(yīng)用(203b)已經(jīng)被加載在計算系統(tǒng)(100)的情況下,在第一應(yīng)用(203a)中選擇深層鏈接會將第二應(yīng)用(203b)啟動到應(yīng)用(203b)的特定屏幕,其中,所述特定屏幕是在深層鏈接中指定的。在第二應(yīng)用(203b)尚未被加載在計算系統(tǒng)(100)上的情況下,在第一應(yīng)用(203a)中選擇深層鏈接會觸發(fā)將第二應(yīng)用(203b)下載到計算系統(tǒng)(100)上。一旦下載,第二應(yīng)用103b被啟動到該應(yīng)用(203b)的特定屏幕,其中,所述特定屏幕是在深層鏈接中指定的。最后,在所述響應(yīng)包括網(wǎng)站鏈接的情況下,在第一應(yīng)用(203a)中選擇鏈接會啟動web瀏覽器應(yīng)用,其顯示鏈接中所指定的特定網(wǎng)頁。
圖4a示出根據(jù)本發(fā)明一個或多個實施方式的具有本地sdk平臺實例401a、401b的系統(tǒng)。圖4a所示的系統(tǒng)實質(zhì)上與圖2所示的系統(tǒng)相似,只是在圖4a中,不存在公共本地sdk平臺(201);反之,存在與每個應(yīng)用(405a、405b)關(guān)聯(lián)(或在每個應(yīng)用(405a、405b)內(nèi))的本地sdk平臺(401a、401b)的一個實例。本地sdk平臺(401a、401b)實例執(zhí)行與圖2所示的本地sdk平臺(201)相同的功能。此外,如圖4b所示,本地sdk平臺實例(401a、401b)也可以均包括一個或多個非核心sdk模塊403a、403b。本發(fā)明不限于圖4a-圖4b所示的系統(tǒng)架構(gòu)。
以下描述根據(jù)本發(fā)明一個或多個實施方式的各個示例。本發(fā)明不限于以下示例。
示例(經(jīng)由深層鏈接從另一應(yīng)用購買貨物)
以下示例并非意圖限制本發(fā)明的范圍。在本發(fā)明的一個或多個實施方式中,本地sdk平臺提供開發(fā)者可以選取以在它們的應(yīng)用中支持的通用動作標(biāo)識符。這些標(biāo)識符之一可以是“purchase”,其具有用于“productid”的支持?jǐn)?shù)據(jù)字段。
應(yīng)用b采用了本地sdk平臺。具體地說,在該示例中,其將其結(jié)賬屏幕注冊為“purchase”動作。類似地,其注冊所述應(yīng)用的該部分以處理撥入的產(chǎn)品id,以填入用戶的購物車。注冊過程可以由本地sdk平臺中的應(yīng)用發(fā)現(xiàn)模塊來管理。
應(yīng)用a405a是體育新聞應(yīng)用,其也采用了本地sdk平臺。通過貨幣化sdk模塊(即非核心sdk模塊),應(yīng)用a顯示原生廣告。本地sdk平臺也能夠確定安裝了應(yīng)用b,使得應(yīng)用a呈現(xiàn)應(yīng)用b中具有的關(guān)于sanfranciscogiants帽子的廣告,其中,本地sdk平臺(201)生成包括在廣告中的深層鏈接。當(dāng)被選中時,與廣告關(guān)聯(lián)的深層鏈接觸發(fā)對啟動應(yīng)用b的調(diào)用,并且通過“productid”30傳遞“purchase”動作。
一旦應(yīng)用b啟動,本地sdk平臺(201)查找用于“purchase”動作的適當(dāng)屏幕。該適當(dāng)屏幕可以是在前述深層鏈接中指定的,或者可以使用任何其它已知機制來確定。應(yīng)用b連同產(chǎn)品id30一起顯示該屏幕。用戶繼續(xù)進行購買流程以購買帽子,然后經(jīng)由本地sdk平臺(201)被再次重定向到應(yīng)用a405a。
廣告中所使用的該深層鏈接也可以用于將指示成功購買的數(shù)據(jù)傳遞回應(yīng)用a405a。該結(jié)果數(shù)據(jù)可以用于通知其它廣告,或者它可以用于允許用戶與他或她在社交網(wǎng)絡(luò)上的粉絲(例如他或她在twitter上的粉絲)共享他或她的新的購買。指示成功購買的數(shù)據(jù)也可以被提供給后端服務(wù)或第3方,其中,該信息可以用于進一步經(jīng)由應(yīng)用a或應(yīng)用b標(biāo)定用戶。
示例(經(jīng)由深層鏈接方案從另一應(yīng)用購買貨物)
以下示例并非意圖限制本發(fā)明的范圍。應(yīng)用a、b、c和d分別是體育應(yīng)用、旅行應(yīng)用、事件購買應(yīng)用以及購物應(yīng)用。我們進行以下假設(shè):(1)sam星期二將在亞特蘭大,以及(2)sanfranciscogiants將在星期二與atlantabraves進行比賽。
各應(yīng)用均與公共本地sdk平臺進行交互。sam正使用應(yīng)用a瀏覽體育新聞。sam碰到關(guān)于他感興趣的隊伍(例如sanfranciscogiants)的信息。sam通過在應(yīng)用a的新聞中嵌入并顯示的twitterfollow按鈕上進行點擊關(guān)注sanfranciscogiants。該動作在twitter上sam的社交圖譜中產(chǎn)生新的“關(guān)注”。知曉sam剛關(guān)注sanfranciscogiants,應(yīng)用b的貨幣化sdk模塊實例隨后請求廣告為sam顯示相關(guān)廣告。應(yīng)用b是旅行應(yīng)用,其能夠獲得sam的位置和/或可訪問sam的旅行計劃。將關(guān)于sam的新的“關(guān)注”以及sam星期二去往亞特蘭大的旅行計劃的信息相結(jié)合,應(yīng)用b的貨幣化sdk模塊實例提供廣告(其對星期二比賽的門票做廣告),其可以顯示在應(yīng)用a或b中。廣告可以嵌入有深層鏈接。當(dāng)sam與對對星期二比賽的門票做廣告的任何廣告進行交互時,應(yīng)用b的貨幣化sdk模塊實例或支付sdk模塊實例可以經(jīng)由深層鏈接將sam傳送到應(yīng)用c(事件購買應(yīng)用)。此外,當(dāng)在應(yīng)用d上進行購買時,sam可能先前已經(jīng)輸入支付信息。從應(yīng)用d的支付sdk模塊實例(經(jīng)由本地sdk平臺)自動地獲得他的支付信息。因此,sam僅需要點擊“purchase”以在應(yīng)用c中完成他的對比賽門票的購買。
獲知sam購買了星期二sanfranciscogiants比賽的門票確認(rèn)了sam對sanfranciscogiants感興趣。當(dāng)將來執(zhí)行應(yīng)用a-d時,廣告可能會將更多的sanfranciscogiants廣告顯示給sam(即sanfranciscogiants棒球帽)。
如果sam并未通過應(yīng)用b的貨幣化sdk模塊實例在被重定向到應(yīng)用c時購買sanfranciscogiants比賽的門票,則應(yīng)用a-d可以繼續(xù)發(fā)送對星期二比賽的門票做廣告的廣告(也許增加廣告印象頻率),直到賽事結(jié)束(比賽進行之后的日子)。雖然關(guān)于星期二比賽門票的廣告是“時間敏感的”,并且當(dāng)賽事結(jié)束時將終止,但并非時間敏感的廣告(即sanfranciscogiants商品)可以在sam執(zhí)行應(yīng)用a-d時繼續(xù)發(fā)送給他。
非核心sdk模塊示例
以下部分描述根據(jù)本發(fā)明一個或多個實施方式的各個非核心sdk模塊。非核心sdk模塊不限于以下所列出的模塊。
身份sdk模塊
在本發(fā)明的一個或多個實施方式中,身份sdk模塊實例可以發(fā)送授權(quán)請求,以對例如訪問計算系統(tǒng)上的應(yīng)用的用戶進行鑒權(quán)。授權(quán)請求可以包括標(biāo)識計算系統(tǒng)的標(biāo)識符(例如電話號碼、電子郵件地址、傳真號、社會保障號等)??商娲?,標(biāo)識符可以是標(biāo)識計算系統(tǒng)的唯一客戶端標(biāo)識符(例如設(shè)備標(biāo)識)。
雖然應(yīng)用的身份sdk模塊實例可以與后端服務(wù)或第3方服務(wù)直接或間接地進行通信以對計算系統(tǒng)進行鑒權(quán),但應(yīng)用的身份sdk模塊實例也可以與同一計算系統(tǒng)上的另一應(yīng)用的身份sdk模塊實例直接或間接地進行通信,從而對應(yīng)用進行鑒權(quán)。
以下是來自身份sdk模塊實例的示例使用情況??紤]如下情況:用戶已經(jīng)登錄到第一社交媒體應(yīng)用中,并且現(xiàn)在同一用戶正嘗試登錄到第二社交媒體應(yīng)用中。當(dāng)用戶例如執(zhí)行第二社交媒體或在第二應(yīng)用的屏幕中的“l(fā)ogin”上進行點擊時,可以發(fā)送授權(quán)請求。本地sdk平臺能夠?qū)⑹跈?quán)請求從第二社交媒體應(yīng)用的身份sdk模塊實例轉(zhuǎn)發(fā)到第一社交媒體應(yīng)用的身份sdk模塊實例。因為用戶已經(jīng)登錄到第一應(yīng)用中,所以第一社交媒體應(yīng)用的身份sdk模塊實例在接收到授權(quán)請求時將授權(quán)請求返回到第二社交媒體應(yīng)用,并且允許用戶獲取對第二應(yīng)用的訪問,而無需用戶輸入他或她的證書。根據(jù)本發(fā)明一個或多個實施方式的身份sdk模塊實例可以跟蹤用戶跨多個應(yīng)用的活動,所述多個應(yīng)用與其它非核心sdk模塊實例耦合,可以有益于廣告商、開發(fā)者以及類似的其它人員。
可替代地,應(yīng)用的身份sdk模塊實例可以通過計算系統(tǒng)外部的系統(tǒng)尋求用戶鑒權(quán)。系統(tǒng)可以是后端服務(wù)或第3方服務(wù)或可以不是后端服務(wù)或第3方服務(wù)。系統(tǒng)包括身份sdk模塊實例,其包括用于從計算系統(tǒng)接收授權(quán)請求的功能。如上所述,授權(quán)請求可以包括標(biāo)識計算系統(tǒng)的標(biāo)識符。計算系統(tǒng)的身份sdk模塊實例可以包括用于確定標(biāo)識符所標(biāo)識的計算系統(tǒng)與身份sdk模塊實例的賬戶對應(yīng)的功能。身份sdk模塊實例可以包括賬戶倉,其保存標(biāo)識計算系統(tǒng)及其對應(yīng)賬戶的賬戶索引。例如,賬戶索引可以包括通過系統(tǒng)的身份sdk模塊實例標(biāo)識具有賬戶的客戶端設(shè)備的標(biāo)識符的列表。身份sdk模塊實例還可以包括鑒權(quán)sdk模塊實例,其包括用于與賬戶倉進行通信以基于授權(quán)請求中接收到的標(biāo)識符搜索賬戶索引的功能。如果身份sdk模塊實例的鑒權(quán)sdk模塊實例在賬戶索引中發(fā)現(xiàn)匹配標(biāo)識符,則鑒權(quán)sdk模塊實例可以標(biāo)識與標(biāo)識符所標(biāo)識的計算系統(tǒng)對應(yīng)的賬戶。隨后,系統(tǒng)可以返回授權(quán)請求,并且使得用戶能夠訪問應(yīng)用。
根據(jù)本發(fā)明一個或多個實施方式,系統(tǒng)的身份sdk模塊實例還可以包括如下功能:響應(yīng)于授權(quán)請求,發(fā)送驗證所述計算系統(tǒng)經(jīng)過鑒權(quán)的驗證消息以及賬戶的唯一令牌,其中,該唯一令牌對于應(yīng)用是唯一的。唯一令牌可以用于保持計算系統(tǒng)的用戶對于所述應(yīng)用的私密性。例如,在從身份sdk模塊實例接收到唯一令牌時,應(yīng)用可以將唯一令牌發(fā)送到與應(yīng)用關(guān)聯(lián)的應(yīng)用服務(wù)器,以訪問與唯一令牌關(guān)聯(lián)的應(yīng)用數(shù)據(jù)。然后計算系統(tǒng)能夠僅使用唯一令牌來訪問由應(yīng)用服務(wù)器所管理的用戶賬戶。
貨幣化sdk模塊
在本發(fā)明的一個或多個實施方式中,貨幣化sdk模塊使用來自身份sdk模塊的信息/信號,以用于標(biāo)定、交叉推銷和/或市場化。該信息/信號中的一些是顯式的,并且這些信號中的一些是隱式的或是從顯式信息推導(dǎo)出的。
以下是來自貨幣化sdk模塊的示例使用情況。考慮如下情況:社交網(wǎng)絡(luò)中用戶的社交圖譜包括他的粉絲以及他關(guān)注的人。如果社交網(wǎng)絡(luò)確定用戶關(guān)注與sanfranciscogiants有關(guān)的x賬戶,則其可以定制經(jīng)由貨幣化sdk模塊實例所服務(wù)的廣告。如果應(yīng)用采用了本地sdk平臺并且包括身份sdk模塊實例和貨幣化sdk模塊實例,則應(yīng)用可以快速地受益于該數(shù)據(jù)。
此外,從用戶先前的發(fā)文獲得的位置數(shù)據(jù)可以提供關(guān)于貨幣化的有價值的數(shù)據(jù),而正顯示廣告的應(yīng)用無需顯式地詢問用戶的位置。如果用戶已經(jīng)從圣弗朗西斯科發(fā)文2000次,并且當(dāng)前處于采用了本地sdk平臺的體育應(yīng)用內(nèi)部,則應(yīng)用能夠快速地確證灣區(qū)體育隊伍有關(guān)的新聞及商品很有可能與該用戶相關(guān)。
其它所推斷的數(shù)據(jù),例如用戶已經(jīng)安裝的應(yīng)用(可以通過設(shè)備上的應(yīng)用是否采用了本地sdk平臺來確定該情況),對于貨幣化目的可能是重要的。例如,如果用戶已經(jīng)下載作為“體育”類別(該類別可以通過各種手段(包括直接從各個平臺商店)獲得)的三個應(yīng)用并且通過其鑒權(quán),則后端服務(wù)可以通過在所安裝的應(yīng)用中顯示與用戶的興趣有關(guān)的廣告,確保采用了貨幣化sdk模塊的設(shè)備上的所有應(yīng)用可以受益于該數(shù)據(jù)。
在本發(fā)明的一個或多個實施方式中,貨幣化sdk模塊可以:(i)使用對用戶興趣的實時洞察(real-timeinsights)以在移動設(shè)備上提供及時的廣告;(ii)采用來自安裝在同一設(shè)備上的其它應(yīng)用的數(shù)據(jù)以用于標(biāo)定;(iii)基于社交情景提供廣告;和/或(iv)建立交叉應(yīng)用廣告系統(tǒng)。
如上所述,深層鏈接用于使得一個應(yīng)用能夠觸發(fā)啟動另一應(yīng)用。在本發(fā)明的一個實施方式中,給定的應(yīng)用可以與多個不同的深層鏈接關(guān)聯(lián),其中,每個深層鏈接將應(yīng)用啟動到不同的屏幕。貨幣化sdk模塊實例可以使用應(yīng)用對各個廣告中的深層鏈接的1對多關(guān)系。例如,貨幣化sdk模塊實例可以顯示包括深層鏈接1的廣告1以及包括深層鏈接2的廣告2等,其中,每個廣告啟動同一應(yīng)用??梢噪S機執(zhí)行包括于給定的廣告中的深層鏈接的選擇。分析sdk模塊實例(如下所述)于是可以用于跟蹤例如用戶對應(yīng)用的使用。以此方式,貨幣化sdk模塊實例提供用于執(zhí)行a/b測試(或與a/b測試相似的測試)的機制,以確定所啟動的應(yīng)用上哪個屏幕帶動了最多的應(yīng)用使用等。
支付sdk模塊
在本發(fā)明的一個或多個實施方式中,支付sdk模塊實例支持應(yīng)用內(nèi)支付處理。例如,如果社交網(wǎng)絡(luò)收集支付機制(例如信用卡)并且將其附連到用戶的身份,則其可以提供可直接引導(dǎo)至購買的可操作的廣告,全部在實現(xiàn)本地sdk平臺實例或與本地sdk平臺進行交互的應(yīng)用內(nèi)。
如果本地sdk平臺對于第3方開發(fā)者提供用于支付的支付sdk模塊實例,則開發(fā)者可以利用支付sdk模塊實例以接收對他們自己的虛擬或真實貨物的支付。
此外,移動用戶的身份,與同樣采用了本地sdk平臺的用戶移動設(shè)備上的應(yīng)用相組合,可以提供關(guān)于購買意向的強信號。例如,如果用戶在社交網(wǎng)絡(luò)上搜索“giantshomeopener”,然后打開采用了本地sdk平臺的門票應(yīng)用,則該應(yīng)用可以快速地獲知用戶“首要”購買門票以觀看sfgiants,并且可以在應(yīng)用的主頁屏幕中呈現(xiàn)大的行動號召(cal-to-action),以購買這些門票。
通過支付sdk模塊實例,后端服務(wù)或第3方服務(wù)可以利于用戶之間的1:1或1對多支付。例如,如果用戶通過應(yīng)用為與朋友共進晚餐進行了預(yù)定,并且該應(yīng)用利用了本地平臺sdk,則支付sdk模塊實例可以請求每一個朋友中在晚餐之后經(jīng)由后端服務(wù)或第3方服務(wù)向該用戶進行支付。
在本發(fā)明的一個或多個實施方式中,支付sdk模塊可以:(i)使得能夠在用戶的社交圖譜與他的支付機制之間進行映射;(ii)為用戶無縫地進行購買,在用戶已經(jīng)通過應(yīng)用進行鑒權(quán)之后,他無需錄入信用卡信息以完成購買;以及(iii)與支付sdk模塊結(jié)合,使用直接消息傳送/私有消息傳送型特征,促進社交網(wǎng)絡(luò)的用戶之間的私有交易。
分析sdk模塊
分析sdk模塊提供用于開發(fā)者檢測他的應(yīng)用以跟蹤關(guān)于應(yīng)用及其使用情況的各種信息的能力。分析sdk模塊可以與身份sdk模塊組合使用。例如,應(yīng)用可以具有用戶與之交互的賬戶,以用于消費者支持的目的。如果后端服務(wù)獲知社交網(wǎng)絡(luò)上的應(yīng)用的賬戶(例如@mysuperapp)的身份,并且某天對該賬戶的提及急劇增加,則分析sdk模塊實例可以將該數(shù)據(jù)與應(yīng)用會話數(shù)據(jù)組合,以提醒開發(fā)者發(fā)生了一些事,會負(fù)面地或正面地影響他的應(yīng)用。
分析sdk模塊實例也可以用于鼓勵開發(fā)者使用貨幣化產(chǎn)品。例如,如果應(yīng)用(經(jīng)由每個計算系統(tǒng)上所安裝的分析sdk模塊實例)在某天看見聚合4999個活躍會話,并且后端服務(wù)(使用關(guān)于各個所安裝的分析sdk模塊實例的信息)可以確定具有5000個會話的應(yīng)用通常每天賺取$50(如果它們包括原生廣告),則其可以對開發(fā)者提供該信息。開發(fā)者于是可以選擇實現(xiàn)貨幣化sdk模塊,以當(dāng)該應(yīng)用在此后短期內(nèi)假設(shè)命中5000個用戶時看得見這些益處。生成前述聚合信息所需的數(shù)據(jù)可以按每個計算系統(tǒng)由后端服務(wù)(或第3方服務(wù))獲得,然后使用后端服務(wù)或第3方服務(wù)進行聚合。
分析sdk模塊也可以帶動對身份sdk模塊的使用。例如,當(dāng)應(yīng)用采用了身份sdk模塊實例以使得用戶能夠登錄時,分析sdk模塊實例能夠提供更好的洞察,而不僅僅是該應(yīng)用在給定時間段期間看見的活躍用戶的數(shù)量。例如,分析sdk模塊實例能夠基于所收集的數(shù)據(jù)并且采用身份sdk模塊實例(其可以用于獲得可以借其確定興趣的用戶資料)確證“你昨天看見對足球感興趣的50個用戶以及對籃球感興趣的50個用戶”,而不是僅告訴“你昨天有100個用戶”。
分析sdk模塊可以幫助開發(fā)者理解其它應(yīng)用如何將用戶引導(dǎo)到他們自身的應(yīng)用。參考其他應(yīng)用對于廣告商或非廣告商也是重要的。具體地說,使用深層鏈接(如上所述)可以用于確定哪些應(yīng)用對其它應(yīng)用是最佳引用者。
在本發(fā)明的一個或多個實施方式中,分析sdk模塊可以:(i)使得能夠跟蹤用戶在應(yīng)用內(nèi)部如何表現(xiàn),其中,該信息可以與關(guān)于用戶的其它數(shù)據(jù)組合,以通知開發(fā)者的產(chǎn)品開發(fā)流程;(ii)提供關(guān)于應(yīng)如何基于從實現(xiàn)本地sdk平臺的計算系統(tǒng)獲得的信息執(zhí)行給定類型的應(yīng)用的基準(zhǔn);(iii)用于推動應(yīng)用安裝活動,其通過在相似應(yīng)用中標(biāo)定最活躍的用戶而更加有效;(iv)用于當(dāng)開發(fā)者的應(yīng)用的執(zhí)行情況發(fā)生正面或負(fù)面變化時通知開發(fā)者;以及(v)用于建立設(shè)備上引用跟蹤網(wǎng)絡(luò),其中,引用跟蹤網(wǎng)絡(luò)跟蹤哪些應(yīng)用(經(jīng)由,例如廣告等)引用哪些其它應(yīng)用。
無論正使用的平臺如何,都可以在虛擬地任何類型的計算系統(tǒng)500上實現(xiàn)本發(fā)明實施方式。例如,計算系統(tǒng)500可以是一個或多個移動設(shè)備(例如筆記本計算機、智能電話、個人數(shù)字助理、平板計算機或其他移動設(shè)備)、臺式計算機、服務(wù)器、服務(wù)器機架中的刀片服務(wù)器、或至少包括最小處理能力、存儲器以及輸入和輸出設(shè)備以執(zhí)行本發(fā)明一個或多個實施方式的任何其他類型的計算系統(tǒng)或設(shè)備。例如,如圖5所示,計算系統(tǒng)500可以包括一個或多個計算機處理器502、關(guān)聯(lián)存儲器504(例如隨機存取存儲器(ram)、緩存存儲器、閃存等)、一個或多個存儲設(shè)備505(例如硬盤、光驅(qū)(例如壓縮盤(cd)驅(qū)動器或數(shù)字多功能盤(dvd)驅(qū)動器)、閃存棒等)以及大量其它元件和功能。計算機處理器502可以是用于處理指令的集成電路。例如,計算機處理器可以是處理器的一個或多個內(nèi)核或微內(nèi)核。計算系統(tǒng)500可以還包括一個或多個輸入設(shè)備510(例如觸摸屏、鍵盤、鼠標(biāo)、麥克風(fēng)、觸摸板、電子筆或任何其他類型的輸入設(shè)備)。此外,計算系統(tǒng)500可以包括一個或多個輸出設(shè)備508(例如屏幕(例如液晶顯示器(lcd)、等離子體顯示器、觸摸屏、陰極射線管(crt)監(jiān)視器、投影儀或其他顯示設(shè)備)、打印機、外部存儲件或任何其他輸出設(shè)備)。輸出設(shè)備中的一個或多個可以與輸入設(shè)備相同或不同。計算系統(tǒng)500可以經(jīng)由網(wǎng)絡(luò)接口連接(未示出)連接到網(wǎng)絡(luò)512(例如局域網(wǎng)(lan)、廣域網(wǎng)(wan)(例如互聯(lián)網(wǎng))、移動網(wǎng)絡(luò)或任何另外類型的網(wǎng)絡(luò))。輸入和輸出設(shè)備可以本地或遠(yuǎn)程地(例如經(jīng)由網(wǎng)絡(luò)512)連接到計算機處理器502、存儲器504以及存儲設(shè)備505。很多不同類型的計算系統(tǒng)存在,并且前述輸入和輸出設(shè)備可以采取其它形式。
用于執(zhí)行本發(fā)明一個或多個實施方式的計算機可讀程序代碼的形式的軟件指令可以整體地或部分地臨時或永久存儲在非易失性計算機可讀介質(zhì)(例如cd、dvd、存儲設(shè)備、盤、帶、閃存、物理存儲器或任何另外計算機可讀存儲介質(zhì))上。具體地說,軟件指令可以與當(dāng)由處理器執(zhí)行時被配置為執(zhí)行本發(fā)明實施方式的計算機可讀程序代碼對應(yīng)。
此外,前述計算系統(tǒng)500的一個或多個元件可以位于遠(yuǎn)程位置處,并且通過網(wǎng)絡(luò)512連接到其它元件。此外,可以在具有多個節(jié)點的分布式系統(tǒng)上實現(xiàn)本發(fā)明實施方式,其中,本發(fā)明的每個部分可以位于分布式系統(tǒng)內(nèi)的不同節(jié)點上。在本發(fā)明的一個或多個實施方式中,節(jié)點可以與不同的計算系統(tǒng)對應(yīng)。可替代地,節(jié)點可以與具有關(guān)聯(lián)物理存儲器的計算機處理器對應(yīng)。節(jié)點可以可替代地與具有共享存儲器和/或資源的計算機處理器或計算機處理器的微內(nèi)核對應(yīng)。