欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

無線應用發(fā)布、實現方法與裝置制造方法

文檔序號:7979720閱讀:155來源:國知局
無線應用發(fā)布、實現方法與裝置制造方法
【專利摘要】本申請?zhí)峁┝艘环N無線應用發(fā)布、實現方法與裝置,其中,無線應用發(fā)布方法包括:將SDK的持久接口層集成到無線應用中,其中,所述SDK包括所述持久接口層和動態(tài)實現層,所述持久接口層包括供所述無線應用調用的接口約定,所述動態(tài)實現層包括與所述接口約定相對應的接口實現;發(fā)布集成后的無線應用,并將所述SDK的動態(tài)實現層設置到服務器端。通過本申請,提升了無線應用用戶的使用體驗;也減輕了無線應用開發(fā)者的開發(fā)負擔,降低了開發(fā)和維護以及應用發(fā)布成本。
【專利說明】無線應用發(fā)布、實現方法與裝置
【技術領域】
[0001]本申請涉及無線應用【技術領域】,特別是涉及一種無線應用發(fā)布、實現方法與裝置?!颈尘凹夹g】
[0002]無線應用,一般是指基于終端的操作系統(tǒng)而開發(fā)的無線客戶端應用。在無線應用中,通常集成有實現特定功能的SDK (Software Development Kit,軟件開發(fā)包)系統(tǒng),如廣告投放SDK系統(tǒng),即無線應用開發(fā)者用于集成廣告投放邏輯的軟件開發(fā)包,其一般由從事無線廣告投放業(yè)務的公司在其網站上提供給無線應用開發(fā)者。
[0003]針對無線應用集成的不同,SDK系統(tǒng)可以有不同的投放方式。以無線應用的廣告投放SDK系統(tǒng)為例,目前,市面上有兩種廣告投放平臺,一種是投放自有廣告主(即希望投放廣告的商家)廣告資源的平臺,另一種是集成了多個廣告投放平臺的SDK,提供廣告投放優(yōu)化服務的平臺,實現優(yōu)化無線應用App廣告填充率,并提高定向廣告投放精準度。前者需要開發(fā)者將其SDK集成在自己的無線應用中,每當有新的SDK版本發(fā)布,無線應用開發(fā)者需要集成新版的SDK,并修改代碼重新發(fā)布,迫使用戶更新相應的無線應用。后者則需要面對所有被集成的廣告投放平臺SDK,任何一個被集成的SDK有版本更新,這類SDK都面臨更新需求;且無線應用開發(fā)者只能在重新開發(fā)和發(fā)布應用的前提下,增加新的SDK或減少某個已集成SDK。
[0004]對于集成了多個廣告投放平臺的SDK的平臺而言,無線應用開發(fā)者完成無線應用開發(fā)后,很長時間內都不需要進行新的開發(fā)或版本升級維護,但該平臺集成的廣告SDK確可能由于版本升級而不再兼容舊版本,此時已有的無線應用只能被迫升級應用,這對于無線應用的最終用戶來說,并沒有更新該無線應用的需求,而對于無線應用開發(fā)者來說,只是增加了額外的開發(fā)和維護以及應用發(fā)布成本。
[0005]為充分利用廣告投放資源,提高填充率,通常會采用集成多個廣告投放SDK的平臺進行廣告投放。以避免由于無線應用集成的廣告投放SDK過少,而出現廣告投放商廣告主資源的不足,造成填充率低,資源浪費的情況。但是,如上所述,如果平臺集成的廣告SDK越多,則容易出現因廣告SDK升級而大幅增加無線應用升級、打包和發(fā)布的工作量。
[0006]因此,目前需要本領域技術人員迫切解決的一個技術問題就是:如何能夠無需更新無線應用本身,即可實現其集成的SDK的更新。

【發(fā)明內容】

[0007]本申請?zhí)峁┝艘环N無線應用發(fā)布方法與裝置,以及一種無線應用實現方法與裝置,以解決現有技術中無線應用在更新其集成的SDK時,需要同時更新無線應用自身(即除SDK外的部分)的問題。
[0008]為了解決上述問題,本申請公開了一種無線應用發(fā)布方法,包括:將軟件開發(fā)包SDK的持久接口層集成到無線應用中,其中,所述SDK包括所述持久接口層和動態(tài)實現層,所述持久接口層包括供所述無線應用調用的接口約定,所述動態(tài)實現層包括與所述接口約定相對應的接口實現;發(fā)布集成后的無線應用,并將所述SDK的動態(tài)實現層設置到服務器端。
[0009]為了解決上述問題,本申請還公開了一種無線應用實現方法,包括:獲取集成了軟件開發(fā)包SDK的持久接口層的無線應用的數據包;使用所述數據包運行所述無線應用;其中,所述SDK包括所述持久接口層和動態(tài)實現層,所述持久接口層集成于所述無線應用中,包括供所述無線應用調用的接口約定;所述動態(tài)實現層設置于服務器端,包括與所述接口約定相對應的接口實現。
[0010]為了解決上述問題,本申請還公開了一種無線應用發(fā)布裝置,包括:集成模塊,用于將軟件開發(fā)包SDK的持久接口層集成到無線應用中,其中,所述SDK包括所述持久接口層和動態(tài)實現層,所述持久接口層包括供所述無線應用調用的接口約定,所述動態(tài)實現層包括與所述接口約定相對應的接口實現;發(fā)布模塊,用于發(fā)布集成后的無線應用,并將所述SDK的動態(tài)實現層設置到服務器端。
[0011]為了解決上述問題,本申請還公開了一種無線應用實現裝置,包括:獲取模塊,用于獲取集成了軟件開發(fā)包SDK的持久接口層的無線應用的數據包;實現模塊,用于使用所述數據包運行所述無線應用;其中,所述SDK包括所述持久接口層和動態(tài)實現層,所述持久接口層集成于所述無線應用中,包括供所述無線應用調用的接口約定;所述動態(tài)實現層設置于服務器端,包括與所述接口約定相對應的接口實現。
[0012]與現有技術相比,本申請具有以下優(yōu)點:
[0013]本申請中,將SDK分割為持久接口層和動態(tài)實現層,其中,持久接口層主要包括供無線應用調用的接口應用,這部分很少發(fā)生改變;而動態(tài)實現層則主要包括與接口約定相對應的接口實現,這部分經常需要更新。通過將SDK進行分割,僅將較為穩(wěn)定的持久接口層集成到無線應用中進行發(fā)布,進而通過無線客戶端的使用無線應用的持久接口層調用動態(tài)實現層,動態(tài)加載動態(tài)實現層中接口實現的類庫。這樣,因為SDK的更新主要是接口實現的更新,因此在SDK需要更新時,僅需改動位于服務器端的動態(tài)實現層,而不必對無線客戶端的無線應用部分進行改動,從而解決現有技術中無線應用在更新其集成的SDK時,需要同時更新無線應用自身(即除SDK外的部分)的問題,大幅度降低了無線客戶端的無線應用被迫跟著SDK升級的情況;且對于無線應用的用戶透明,提升了無線應用用戶的使用體驗;也減輕了無線應用開發(fā)者的開發(fā)負擔,降低了開發(fā)和維護以及應用發(fā)布成本。
【專利附圖】

【附圖說明】
[0014]圖1是根據本申請實施例一的一種無線應用發(fā)布方法的步驟流程圖;
[0015]圖2是根據本申請實施例二的一種無線應用發(fā)布方法的步驟流程圖;
[0016]圖3是根據本申請實施例三的一種無線應用發(fā)布方法的步驟流程圖;
[0017]圖4是根據現有技術的一種無線應用發(fā)布及SDK升級的示意圖;
[0018]圖5是圖3所示實施例中的一種無線應用發(fā)布及SDK升級的示意圖;
[0019]圖6是根據本申請實施例四的一種無線應用實現方法的步驟流程圖;
[0020]圖7是根據本申請實施例五的一種無線應用發(fā)布裝置的結構框圖;
[0021]圖8是根據本申請實施例六的一種無線應用發(fā)布系統(tǒng)的結構框圖;
[0022]圖9是使用圖8所不的無線應用發(fā)布系統(tǒng)進行SDK升級的不意圖;[0023]圖10是根據本申請實施例七的一種無線應用實現裝置的結構框圖。
【具體實施方式】
[0024]為使本申請的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖和【具體實施方式】對本申請作進一步詳細的說明。
[0025]實施例一
[0026]參照圖1,其示出了根據本申請實施例一的一種無線應用發(fā)布方法的步驟流程圖。
[0027]本實施例的無線應用發(fā)布方法包括以下步驟:
[0028]步驟S102:將SDK的持久接口層集成到無線應用中。
[0029]其中,SDK包括持久接口層和動態(tài)實現層,持久接口層包括供無線應用調用的接口約定,動態(tài)實現層包括與接口約定相對應的接口實現。
[0030]接口約定是對接口的約定,其可約定接口類的名稱、公共方法的名稱、所接收的方法調用參數類型和順序,以及返回值的類型等,其具體約定的接口可以通過類實現。接口實現是接口約定中所約定的接口的具體實現,其中的方法名稱、參數類型和順序,以及返回值類型等遵照接口約定。
[0031]步驟S104:發(fā)布集成后的無線應用,并將所述SDK的動態(tài)實現層設置到服務器端。
[0032]發(fā)布的無線應用可供無線客戶端下載使用,在使用或后續(xù)更新時,無線應用可以通過持久接口層中接口約定所約定的接口調用設置于服務器端的動態(tài)實現層的接口實現。
[0033]通過本實施例,將SDK分割為持久接口層和動態(tài)實現層,其中,持久接口層主要包括供無線應用調用的接口應用,這部分很少發(fā)生改變;而動態(tài)實現層則主要包括與接口約定相對應的接口實現,這部分經常需要更新。通過將SDK進行分割,僅將較為穩(wěn)定的持久接口層集成到無線應用中進行發(fā)布,進而通過無線客戶端使用的無線應用的持久接口層調用動態(tài)實現層,動態(tài)加載動態(tài)實現層中接口實現的類庫。這樣,因為SDK的更新主要是接口實現的更新,因此,在SDK需要更新時,僅需改動位于服務器端的動態(tài)實現層,而不必對無線客戶端的無線應用部分進行改動,從而解決現有技術中無線應用在更新其集成的SDK時,需要同時更新無線應用自身(即除SDK外的部分)的問題,這大幅度降低了無線客戶端的無線應用被迫跟著SDK升級的情況;且對于無線應用的用戶透明,提升了無線應用用戶的使用體驗;也減輕了無線應用開發(fā)者的開發(fā)負擔,降低了開發(fā)和維護以及應用發(fā)布成本。
[0034]實施例二
[0035]參照圖2,其示出了根據本申請實施例二的一種無線應用發(fā)布方法的步驟流程圖。
[0036]本實施例的無線應用發(fā)布方法包括以下步驟:
[0037]步驟S202:服務器端對一個SDK進行分割,將其中的接口約定封裝為持久接口層,將其中的接口實現封裝為動態(tài)實現層。
[0038]現有技術中,SDK會由提供者作為一個整體的程序包發(fā)放,接口約定和接口實現在一個包內,或者在同樣的程序內。然后,無線應用開發(fā)者會將該SDK整體集成到無線應用中進行發(fā)布。本實施例中,將接口約定打成一個包,即封裝為持久接口層,該SDK的持久接口層是暴露給集成SDK的外部程序(如無線應用)的調用接口約定,包括方法名稱、返回類型、接收的參數和輸入輸出約定等;將接口實現打成另一個包,即封裝為動態(tài)實現層,該SDK的動態(tài)實現層是SDK持久接口層約定的接口的具體實現,對集成SDK的外部程序不可見,可以在滿足接口約定的前提下更改實現方式和方法,集成SDK的外部程序不會受到影響。然后,將接口約定打成的包集成到無線應用中進行發(fā)布,由無線客戶端安裝并使用;將接口實現打成的包設置到服務器端。無線客戶端安裝或使用無線應用后,集成在無線應用中的SDK可以自主從服務器端獲取接口實現的數據包的新版本。這樣,集成SDK的程序在不需要升級的情況下,就能獲得新的SDK升級包。
[0039]需要說明的是,SDK的分割可以由無線應用開發(fā)人員在集成時進行,也可以由第三方提供分割好的SDK,無線應用開發(fā)人員在集成時直接集成分割后的SDK持久接口層即可。
[0040]步驟S204:服務器端將SDK的持久接口層集成到無線應用中,并發(fā)布集成后的無線應用供無線客戶端下載使用;同時,將SDK的動態(tài)實現層設置到服務器端。
[0041]步驟S206:服務器端判斷是否接收到使用無線應用的無線客戶端發(fā)送的獲取請求,若是,則執(zhí)行步驟S208 ;若否,則執(zhí)行步驟S210。
[0042]其中,所述獲取請求用于請求從服務器端獲取動態(tài)實現層的接口實現。
[0043]若服務器端接收到獲取請求,說明發(fā)布的無線應用中未集成動態(tài)實現層的數據,此時,可以從服務器端獲取,以實現動態(tài)接口實現加載和即時更新;若服務器端未接收到獲取請求,說明發(fā)布的無線應用中集成了動態(tài)實現層的初始版本,無線客戶端可以自動從下載的無線應用中加載初始的動態(tài)實現層的接口實現,在需要時或設定時間時,再向服務器端請求更新的接口實現,以進行動態(tài)實現層的更新。
[0044]步驟S208:服務器端根據獲取請求,從服務器端向無線客戶端發(fā)送動態(tài)實現層的接口實現,用于使無線客戶端中的無線應用通過持久接口層中接口約定所約定的接口調用從服務器端獲取的接口實現,動態(tài)加載接口實現的類庫。
[0045]一般來說,在應用開發(fā)階段導入類庫,編譯打包后隨無線應用一同發(fā)布,這種方式稱為靜態(tài)類庫加載;反之,發(fā)布后的無線客戶端應用在運行時獲取類庫,動態(tài)加載并執(zhí)行相應邏輯,則稱為動態(tài)類庫加載。
[0046]本步驟中,動態(tài)加載接口實現的類庫,即在運行時獲取接口實現的類庫,進而動態(tài)加載并執(zhí)行相應邏輯。
[0047]步驟S210:服務器端判斷是否接收到無線客戶端發(fā)送的查詢請求,若是,則執(zhí)行步驟S212 ;若否,則重復本步驟。
[0048]其中,所述查詢請求用于查詢服務器端是否存在持久接口層和/或動態(tài)實現層的更新版本。
[0049]步驟S212:服務器端確定存在持久接口層和/或動態(tài)實現層的更新版本,從服務器端向無線客戶端發(fā)送更新版本,所述更新版本用于無線客戶端更新其無線應用的持久接口層和/或動態(tài)頭現層。
[0050]本實施例描述了服務器端的SDK發(fā)布和更新過程,通過本實施例,解決了現有技術中無線應用在更新其集成的SDK時,需要同時更新無線應用自身(即除SDK外的部分)的問題,大幅度降低了無線客戶端的無線應用被迫跟著SDK升級的情況;且對于無線應用的用戶透明,提升了無線應用用戶的使用體驗;也減輕了無線應用開發(fā)者的開發(fā)負擔,降低了開發(fā)和維護以及應用發(fā)布成本。
[0051]實施例三
[0052]參照圖3,其示出了根據本申請實施例三的一種無線應用發(fā)布方法的步驟流程圖。[0053]本實施例的無線應用發(fā)布方法包括以下步驟:
[0054]步驟S302:服務器端對一個SDK進行分割,將其中的接口約定封裝為持久接口層,將其中的接口實現封裝為動態(tài)實現層。
[0055]優(yōu)選地,對SDK進行分割根據反射機制實現,如,采用Java的ref Iect包的反射機制(也稱為反射技術)。反射(Reflection)是.NET中的重要機制,通過反射,可以使無線應用在運行時獲得.NET中每一個類型(包括類、結構、委托、接口和枚舉等)的成員,包括方法、屬性、事件,以及構造函數等。還可以獲得每個成員的名稱、限定符和參數等。有了反射,即可對每一個類型了如指掌。如果無線客戶端的無線應用獲得了構造函數的信息,即可直接創(chuàng)建對象,即使這個對象的類型在編譯時還不知道。
[0056]本實施例使用反射機制對SDK進行分割,簡化了分離的SDK的實現,降低了本申請的無線應用發(fā)布方案的實現成本。
[0057]步驟S304:服務器端將SDK的持久接口層集成到無線應用中,發(fā)布集成后的無線應用,并將SDK的動態(tài)實現層設置到服務器端。
[0058]例如,可以通過編譯時靜態(tài)鏈接的方式將SDK的持久接口層靜態(tài)打包到無線應用中。
[0059]本實施例中,設定無線應用中不集成SDK動態(tài)實現層的初始版本。
[0060]步驟S306:無線客戶端下載集成后的無線應用,進行安裝和/或使用。
[0061]步驟S308:無線客戶端判斷集成后的無線應用中是否攜帶有SDK動態(tài)實現層的初始版本,若是,則執(zhí)行步驟S310 ;若否,則執(zhí)行步驟S312。
[0062]例如,一種情形是,無線應用中沒有集成有SDK動態(tài)實現層的初始版本,則從服務器端下載獲取,進而進行動態(tài)加載和調用。另一種情形是,SDK中攜帶有一個SDK動態(tài)實現層的初始版本,則一種方式是無線應用程序運行時,直接加載調用該初始版本,然后向服務器端發(fā)送請求,詢問是否有新的SDK動態(tài)實現層的實現包版本,若有就下載然后調用加載;另一種方式是,無線應用程序運行時,會向服務器端發(fā)送請求,詢問是否有新的SDK動態(tài)實現層的的實現包版本,有就下載然后調用加載,沒有則會根據約定(比如基于路徑和文件名)找到SDK的動態(tài)實現層的實現包(即動態(tài)實現層的初始版本)。
[0063]步驟S310:無線客戶端的無線應用通過其集成的SDK的持久接口層中接口約定所約定的接口調用動態(tài)實現層的初始版本中的接口實現,動態(tài)加載接口實現的類庫,轉到步驟 S316。
[0064]本步驟中,動態(tài)加載接口實現的類庫,即在運行時獲取接口實現的類庫,進而動態(tài)加載并執(zhí)行相應邏輯。
[0065]步驟S312:無線客戶端的無線應用從服務器端獲取SDK動態(tài)實現層的接口實現。
[0066]因本實施例中設定無線應用中不集成SDK動態(tài)實現層的初始版本,因此,在步驟S308中無線客戶端確定集成后的無線應用中沒有攜帶SDK動態(tài)實現層的初始版本時,即轉本步驟執(zhí)行。
[0067]步驟S314:無線客戶端的無線應用通過SDK持久接口層中接口約定所約定的接口調用從服務器端獲取的接口實現,動態(tài)加載接口實現的類庫。
[0068]步驟S316:無線客戶端的無線應用判斷服務器端是否存在持久接口層和/或動態(tài)實現層的更新版本;若是,則執(zhí)行步驟S318 ;若否,則循環(huán)執(zhí)行本步驟。[0069]SDK初始化時,會獲取本地SDK相關數據包的現有版本號,通常是一個數字,服務器端約定地址會返回客戶端當前服務器上的最新SDK相關數據包的版本,如果服務器端的版本號大于客戶端SDK現有的版本號,說明有新的版本需要更新。
[0070]步驟S318:無線客戶端的無線應用從服務器端下載SDK的持久接口層和/或動態(tài)實現層的更新版本,并更新無線客戶端中的無線應用的SDK持久接口層和/或動態(tài)實現層。
[0071]為能更清楚地理解本實施例,以下以與現有的無線應用發(fā)布及SDK升級對比的方式,對本實施例的無線應用發(fā)布及SDK升級做進一步說明。
[0072]參照圖4,其示出了根據現有技術的一種無線應用發(fā)布及SDK升級的示意圖。目前在無線應用領域,SDK都是以靜態(tài)打包到應用程序中的方式進行集成,存在無線應用程序升級需求頻繁和升級代價大的問題,因為每當SDK有升級更新時,所有集成了 SDK的App (應用)都需要重新集成、編譯、打包、分發(fā),所有的客戶端應用用戶還需要進行下載和更新的一系列操作,才能最終實現SDK的更新。從圖4中可見,應用程序中的SDK是在編譯時整體靜態(tài)鏈接到應用程序中的,也即,是整體集成到應用程序中,進而進行發(fā)布的。無線客戶端在安裝或使用該應用程序后,若其中的SDK需要升級,則從服務器端下載包括應用程序本身和其集成的SDK在內的整個應用程序。這就造成,每當有新的SDK版本發(fā)布,無線應用開發(fā)者就需要修改代碼重新發(fā)布,而無線應用本身卻可能并無修改,導致用戶的無線應用本身的被迫更新,使得即增加了無線應用開發(fā)者的額外開發(fā)和維護以及應用發(fā)布成本,也降低了用戶的無線應用使用體驗。
[0073]而本實施例中采用的無線應用發(fā)布及SDK升級方式如圖5所示,從圖5中可以明顯看出SDK持久接口層和動態(tài)實現層的分離。應用程序中僅集成了 SDK的持久接口層,也即,SDK的持久接口層是在編譯時靜態(tài)鏈接到應用程序中進而進行發(fā)布的,而SDK的動態(tài)實現層則是在運行時動態(tài)載入的。當SDK需要升級時,僅需修改服務器端的SDK動態(tài)實現層,無須對應用程序本身進行改動。這樣,一方面,無線應用的用戶不必被迫更新無線應用本身,從而提升了使用體驗;另一方面無線應用開發(fā)者無須進行額外的開發(fā)和維護,降低了額外開發(fā)和維護以及應用發(fā)布成本。
[0074]通過本實施例,利用動態(tài)類庫加載機制,將SDK的持久接口層(很少改變)和動態(tài)實現層(經常需要更新)進行分離,只在無線客戶端應用中鏈接和打包持久接口層,通過動態(tài)類庫的加載和調用,實現運行時綁定動態(tài)實現層,從而大幅度降低了無線客戶端應用被迫跟著SDK升級的情況。只要基本的抽象接口層(即SDK的持久接口層)不發(fā)生變化,無線客戶端應用程序就能在運行時自動完成升級工作,對用戶是透明的。
[0075]實施例四
[0076]參照圖6,其示出了根據本申請實施例四的一種無線應用實現方法的步驟流程圖。
[0077]本實施例的無線應用實現方法包括以下步驟:
[0078]步驟SlO:獲取集成了 SDK的持久接口層的無線應用的數據包。
[0079]其中,SDK包括持久接口層和動態(tài)實現層,持久接口層包括供無線應用調用的接口約定,持久接口層集成于無線應用中;動態(tài)實現層包括與持久接口層的接口約定相對應的接口實現,動態(tài)實現層設置于服務器端。SDK的分割通過將SDK中的接口約定封裝為持久接口層,將SDK中的接口實現封裝為動態(tài)實現層實現。優(yōu)選地,對SDK的分割使用反射機制實現。[0080]本步驟中,無線客戶端首先獲取集成有SDK的持久接口層的無線應用數據包。
[0081]步驟S20:使用無線應用的數據包運行無線應用。
[0082]本步驟中,無線客戶端可以根據不同情況,使用無線應用的數據包運行無線應用。
[0083]比如,當無線應用中還集成了動態(tài)實現層的初始版本時,無線應用使用持久接口層中接口約定所約定的接口調用動態(tài)實現層的初始版本中的接口實現,動態(tài)加載接口實現的類庫。當無線應用中沒有集成動態(tài)實現層的初始版本時,無線應用向服務器端發(fā)送獲取請求,該獲取請求用于請求從服務器端獲取動態(tài)實現層的接口實現;當服務器端返回動態(tài)實現層的接口實現后,無線應用接收服務器端返回的動態(tài)實現層的接口實現;并使用持久接口層中接口約定所約定的接口調用從服務器端獲取的接口實現,動態(tài)加載接口實現的類庫。
[0084]優(yōu)選地,在使用無線應用的數據包運行無線應用之后,也即,動態(tài)加載接口實現的類庫之后,無線應用向服務器端發(fā)送查詢請求,查詢請求用于查詢服務器端是否存在持久接口層和/或動態(tài)實現層的更新版本;并接收服務器端返回的持久接口層和/或動態(tài)實現層的更新版本;使用更新版本更新無線應用的持久接口層和/或動態(tài)實現層。
[0085]通過本實施例,實現了無線客戶端集成了 SDK的無線應用無須更新無線應用自身(即除SDK外的部分),即可更新其集成的SDK,大幅度地降低了無線客戶端的無線應用被迫跟著SDK升級的情況,提升了無線應用用戶的使用體驗。
[0086]需要說明的是,本實施例的無線應用實現方法對應于前述多個實施例中的無線應用發(fā)布方法,因此描述較為簡單,相關之處參照前述無線應用發(fā)布方法實施例中的相關部分即可。
[0087]實施例五
[0088]參照圖7,其示出了根據本申請實施例五的一種無線應用發(fā)布裝置的結構框圖。
[0089]本實施例的無線應用發(fā)布裝置包括:
[0090]集成模塊402,用于將SDK的持久接口層集成到無線應用中,其中,SDK包括持久接口層和動態(tài)實現層,持久接口層包括供無線應用調用的接口約定,動態(tài)實現層包括與接口約定相對應的接口實現;
[0091]發(fā)布模塊404,用于發(fā)布集成后的無線應用,并將所述SDK的動態(tài)實現層設置到服務器端。無線應用發(fā)布后,無線客戶端可以下載使用,使無線應用通過持久接口層中接口約定所約定的接口調用動態(tài)實現層的接口實現。
[0092]優(yōu)選地,本實施例的無線應用發(fā)布裝置還包括:分割模塊406,用于在集成模塊402將SDK的持久接口層集成到無線應用中之前,對SDK進行分割,將其中的接口約定封裝為持久接口層,將其中的接口實現封裝為動態(tài)實現層;其中,對SDK進行分割使用反射機制實現。
[0093]優(yōu)選地,本實施例的無線應用發(fā)布裝置還包括:發(fā)送模塊408,用于在發(fā)布模塊404發(fā)布集成后的無線應用,并將SDK的動態(tài)實現層設置到服務器端之后,獲取使用無線應用的無線客戶端發(fā)送的獲取請求,所述獲取請求用于請求從服務器端獲取動態(tài)實現層的接口實現;根據獲取請求,由服務器端向無線客戶端發(fā)送動態(tài)實現層的接口實現,使無線客戶端中的無線應用通過持久接口層中接口約定所約定的接口調用從服務器端獲取的接口實現,動態(tài)加載接口實現的類庫。[0094]優(yōu)選地,集成模塊402還用于在將SDK的持久接口層集成到無線應用中之前或之后,將動態(tài)實現層的初始版本集成到無線應用中;發(fā)布模塊404,用于發(fā)布集成了 SDK的持久接口層和動態(tài)實現層的初始版本的無線應用供無線客戶端下載使用,并使無線客戶端的無線應用通過持久接口層中接口約定所約定的接口調用動態(tài)實現層的初始版本中的接口實現,動態(tài)加載接口實現的類庫;以及,將SDK的動態(tài)實現層設置到服務器端。
[0095]優(yōu)選地,本實施例的無線應用發(fā)布裝置還包括:更新模塊410,用于在發(fā)送模塊408使服務器端向無線客戶端發(fā)送動態(tài)實現層的接口實現之后,接收無線客戶端發(fā)送的查詢請求,所述查詢請求用于查詢服務器端是否存在持久接口層和/或動態(tài)實現層的更新版本;確定服務器端存在持久接口層和/或動態(tài)實現層的更新版本,從服務器端向無線客戶端發(fā)送更新版本,用于無線客戶端更新其無線應用的持久接口層和/或動態(tài)實現層;和/或,更新模塊410,用于在發(fā)布模塊404發(fā)布集成了 SDK的持久接口層和動態(tài)實現層的初始版本的無線應用供無線客戶端下載使用之后,接收無線客戶端發(fā)送的查詢請求;確定服務器端存在持久接口層和/或動態(tài)實現層的更新版本,從服務器端向無線客戶端發(fā)送更新版本,使無線客戶端更新其無線應用的持久接口層和/或動態(tài)實現層。
[0096]優(yōu)選地,本實施例的無線應用發(fā)布裝置設置在服務器端。
[0097]本實施例的無線應用發(fā)布裝置用于實現前述多個方法實施例中相應的無線應用發(fā)布方法,并具有相應方法實施例的有益效果,在此不再贅述。
[0098]實施例六
[0099]參照圖8,其示出了根據本申請實施例六的一種無線應用發(fā)布系統(tǒng)的結構框圖。
[0100]本實施例的無線應用發(fā)布系統(tǒng)包括:無線客戶端502和SDK升級服務器504。
[0101]其中,SDK升級服務器504具有如實施例四中所示的無線應用發(fā)布裝置,該裝置具有實施例四中的裝置的所有模塊和功能。
[0102]優(yōu)選地,SDK升級服務器504在將SDK的持久接口層集成到無線應用中時,使持久接口層包括動態(tài)接口載入模塊、自動檢測/升級模塊、和下載管理模塊。其中,動態(tài)接口載入模塊負責在無線應用的程序運行階段,動態(tài)載入動態(tài)實現層的類庫,以完成SDK或無線應用程序需要提供的功能;自動檢測/升級模塊,負責在SDK初始化時,比較當前持久接口層的版本、動態(tài)實現層的版本,與SDK升級服務器504上相應的最新版本,確定是否執(zhí)行運行時更新操作;下載模塊負責從SDK升級服務器504上下載最新版本的持久接口層和/或動態(tài)實現層的數據包,并進行升級替換。
[0103]無線客戶端502從SDK升級服務器上下載集成后的無線應用,并安裝使用。具體地,無線客戶端502在安裝或使用無線應用階段,使用無線應用中的SDK持久接口層中的動態(tài)接口載入模塊從SDK升級服務器504中獲取SDK動態(tài)實現層的接口實現,動態(tài)加載調用接口實現的類庫;然后,可以使用自動檢測/升級模塊定時或不定時地向SDK升級服務器504上查詢是否有相應的更新版本,若有,則使用下載管理模塊從SDK升級服務器504上下載相應的更新版本,以更新自身的SDK的持久接口層和/或動態(tài)實現層。
[0104]以下,以無線應用廣告投放SDK為例,對使用本實施例的無線應用發(fā)布系統(tǒng)進行SDK發(fā)布和升級作以說明。
[0105]如圖9所示,SDK升級服務器504上設置有SDK動態(tài)實現層,以便于進行接口實現的更新,此外,SDK升級服務器504還可以負責SDK持久接口層的更新。需要說明的是,為便于理解,圖中將SDK動態(tài)實現層單獨列出,但本領域技術人員應當明了,在實際使用中,SDK動態(tài)實現層的升級可能采用單獨的服務器,也可能設置于負責SDK持久接口層更新的服務器中,即采用一臺服務器實現多個功能單元的更新。
[0106]無線客戶端502中安裝有集成了 SDK持久接口層的無線應用,在無線應用運行階段,使用動態(tài)接口載入模塊動態(tài)載入動態(tài)實現層的類庫,以完成SDK或應用程序需要提供的功能,如加載初始的廣告。無線應用定時或不定時地使用自動檢測/升級模塊查詢SDK升級服務器504上是否有SDK動態(tài)實現層和/或持久接口層的更新。自動檢測/升級模塊在SDK初始化時,根據當前持久接口層的版本和/或動態(tài)實現層的版本,與SDK升級服務器504上的最新版本作比較,確定是否執(zhí)行運行時更新操作。具體地,在SDK初始化時,自動檢測/升級模塊會獲取本地SDK動態(tài)實現層數據包的現有版本號,通常是一個數字,服務器端約定地址會返回客戶端當前服務器上的最新SDK動態(tài)實現層數據包的版本,如果服務器端的版本號大于客戶端SDK現有的版本號,說明有新的版本需要更新。此外,SDK持久接口層雖然較為穩(wěn)定,但也存在更新升級可能,因此根據持久接口層的版本來確定是否需要從SDK升級服務器504下載相應的動態(tài)類庫版本。SDK升級服務器504響應無線客戶端502詢問最新版本的請求,返回最新版本號和對應版本的包的下載地址。然后,下載管理模塊負責從SDK升級服務器504上下載最新更新的動態(tài)類庫實現包(包括持久接口層的數據包和動態(tài)實現層的數據包),并進行升級替換。
[0107]本實例通過將自有廣告投放SDK和第三方廣告投放SDK進行抽象,僅發(fā)布包含面向相對固定接口實現廣告投放邏輯的SDK,允許無線應用開發(fā)者在服務器端配置其無線應用集成的廣告投放SDK,無線應用則在運行時,根據這個配置,動態(tài)從服務器端獲取最新版本的SDK集成類庫并加載執(zhí)行,從而解決了無線應用集成了廣告投放SDK后,面臨的頻繁更新需要問題。
[0108]本實例的方案不僅可以用于無線廣告投放的SDK更新升級,尤其適用于以優(yōu)化無線應用客戶端廣告投放為目的的整合了多種廣告投放SDK的聯盟式SDK的更新和升級;在無線應用本身使用SDK的情況下,亦可用于無線應用本身的更新和功能升級。
[0109]本實施例具有以下優(yōu)點:
[0110](I)無線應用無需更新,就能使無線應用獲取新的廣告獲取和投放能力;
[0111](2)無線應用無需更新,就能集成新的廣告投放SDK,還能更新已集成SDK的版本;
[0112](3)在服務器端通過配置,可以動態(tài)增減客戶端集成的無線廣告投放SDK和廣告投放比例;
[0113](4)無線應用本身,也可以通過該方案實現運行時下載類庫,更新應用功能,降低用戶更新應用時的下載、安裝等操作。
[0114]實施例七
[0115]參照圖10,其示出了根據本申請實施例七的一種無線應用實現裝置的結構框圖。
[0116]本實施例的無線應用實現裝置設置于無線客戶端,包括:獲取模塊602,用于獲取集成了 SDK的持久接口層的無線應用的數據包;實現模塊604,用于使用無線應用的數據包運行無線應用;其中,SDK包括持久接口層和動態(tài)實現層,持久接口層集成于無線應用中,包括供無線應用調用的接口約定;動態(tài)實現層設置于服務器端,包括與接口約定相對應的接口實現。[0117]優(yōu)選地,實現模塊604,用于向服務器端發(fā)送獲取請求,該獲取請求用于請求從服務器端獲取動態(tài)實現層的接口實現;接收服務器端返回的動態(tài)實現層的接口實現;使用持久接口層中接口約定所約定的接口調用從服務器端獲取的接口實現,動態(tài)加載接口實現的類庫。
[0118]優(yōu)選地,無線應用中還集成了動態(tài)實現層的初始版本;此時,實現模塊604,用于使用持久接口層中接口約定所約定的接口調用動態(tài)實現層的初始版本中的接口實現,動態(tài)加載接口實現的類庫。
[0119]優(yōu)選地,本實施例的無線應用實現裝置還包括:更新模塊606,用于在實現模塊604動態(tài)加載接口實現的類庫之后,向服務器端發(fā)送查詢請求,該查詢請求用于查詢服務器端是否存在持久接口層和/或動態(tài)實現層的更新版本;接收服務器端返回的持久接口層和/或動態(tài)實現層的更新版本;使用更新版本更新無線應用的持久接口層和/或動態(tài)實現層。
[0120]本實施例的無線應用裝置用于實現前述方法實施例中的無線應用實現方法,并具有無線應用實現方法的有益效果,在此不再贅述。
[0121]本申請通過對SDK進行抽象,僅發(fā)布包含面向相對固定接口的SDK,允許無線應用開發(fā)者在服務器端配置更新時常更新的SDK,無線應用則在運行時,根據這個配置,動態(tài)從服務器端獲取最新版本的SDK集成類庫并加載執(zhí)行。通過動態(tài)加載類庫,使當前已集成SDK的無線應用獲得新的功能擴展。本申請適用于多種操作平臺下的無線應用發(fā)布和升級,尤其適用于Android平臺下采用Java開發(fā)的無線應用,例如集成游戲引擎包開發(fā)游戲,例如集成訪問統(tǒng)計和用戶跟蹤包,來做程序分發(fā)和使用統(tǒng)計等。但不限于此,其它類似情景均可適用本申請的無線應用發(fā)布和升級方案,如使用C語言開發(fā)的無線應用等。
[0122]本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對于裝置和系統(tǒng)實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
[0123]本申請是參照根據本申請實施例的方法、設備(系統(tǒng))、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執(zhí)行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0124]這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0125]這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執(zhí)行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執(zhí)行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。[0126]以上對本申請所提供的一種無線應用發(fā)布方法和裝置,進行了詳細介紹,本文中應用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本申請的方法及其核心思想;同時,對于本領域的一般技術人員,依據本申請的思想,在【具體實施方式】及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本申請的限制。
【權利要求】
1.一種無線應用發(fā)布方法,其特征在于,包括: 將軟件開發(fā)包SDK的持久接口層集成到無線應用中,其中,所述SDK包括所述持久接口層和動態(tài)實現層,所述持久接口層包括供所述無線應用調用的接口約定,所述動態(tài)實現層包括與所述接口約定相對應的接口實現; 發(fā)布集成后的無線應用,并將所述SDK的動態(tài)實現層設置到服務器端。
2.根據權利要求1所述的方法,其特征在于,在所述將SDK的持久接口層集成到無線應用中的步驟之前,還包括: 對所述SDK進行分割,將其中的所述接口約定封裝為所述持久接口層,將其中的所述接口實現封裝為所述動態(tài)實現層。
3.根據權利要求2所述的方法,其特征在于,所述對SDK進行分割使用反射機制實現。
4.根據權利要求1所述的方法,其特征在于,在所述發(fā)布集成后的無線應用,并將所述SDK的動態(tài)實現層設置到服務器端的步驟之后,還包括: 獲取使用所述無線應用的無線客戶端發(fā)送的獲取請求,所述獲取請求用于請求從所述服務器端獲取所述動態(tài)實現層的接口實現; 根據所述獲取請求,由所述服務器端向所述無線客戶端發(fā)送所述動態(tài)實現層的接口實現,用于所述無線客戶端中的無線應用通過所述持久接口層中接口約定所約定的接口調用從所述服務器端獲取的所述接口實現,動態(tài)加載所述接口實現的類庫。
5.根據權利要求4所述的方法,其特征在于,在所述由所述服務器端向所述無線客戶端發(fā)送所述動態(tài)實現層的接口實現的步驟之后,還包括:` 接收所述無線客戶端發(fā)送的查詢請求,所述查詢請求用于查詢所述服務器端是否存在所述持久接口層和/或所述動態(tài)實現層的更新版本; 確定所述服務器端存在所述持久接口層和/或所述動態(tài)實現層的更新版本,從所述服務器端向所述無線客戶端發(fā)送所述更新版本,所述更新版本用于所述無線客戶端更新其無線應用的所述持久接口層和/或所述動態(tài)實現層。
6.根據權利要求1所述的方法,其特征在于, 在所述將SDK的持久接口層集成到無線應用中的步驟之前或之后,還包括:將所述動態(tài)實現層的初始版本集成到所述無線應用中; 所述發(fā)布集成后的無線應用的步驟包括:發(fā)布集成了所述SDK的持久接口層和動態(tài)實現層的初始版本的無線應用供無線客戶端下載,用于所述無線客戶端的無線應用通過所述持久接口層中接口約定所約定的接口調用所述動態(tài)實現層的初始版本中的接口實現,動態(tài)加載所述接口實現的類庫。
7.根據權利要求6所述的方法,其特征在于,在所述發(fā)布集成了所述SDK的持久接口層和動態(tài)實現層的初始版本的無線應用供無線客戶端下載的步驟之后,還包括: 接收所述無線客戶端發(fā)送的查詢請求,所述查詢請求用于查詢所述服務器端是否存在所述持久接口層和/或所述動態(tài)實現層的更新版本; 確定所述服務器端存在所述持久接口層和/或所述動態(tài)實現層的更新版本,從所述服務器端向所述無線客戶端發(fā)送所述更新版本,所述更新版本用于所述無線客戶端更新其無線應用的所述持久接口層和/或所述動態(tài)實現層。
8.一種無線應用實現方法,其特征在于,包括:獲取集成了軟件開發(fā)包SDK的持久接口層的無線應用的數據包; 使用所述數據包運行所述無線應用; 其中,所述SDK包括所述持久接口層和動態(tài)實現層,所述持久接口層集成于所述無線應用中,包括供所述無線應用調用的接口約定;所述動態(tài)實現層設置于服務器端,包括與所述接口約定相對應的接口實現。
9.根據權利要求8所述的方法,其特征在于,使用所述數據包運行所述無線應用的步驟包括: 向所述服務器端發(fā)送獲取請求,所述獲取請求用于請求從所述服務器端獲取所述動態(tài)實現層的接口實現; 接收所述服務器端返回的所述動態(tài)實現層的接口實現; 使用所述持久接口層中接口約定所約定的接口調用從所述服務器端獲取的所述接口實現,動態(tài)加載所述接口實現的類庫。
10.根據權利要求9所述的方法,其特征在于,在所述動態(tài)加載所述接口實現的類庫的步驟之后,還包括: 向所述服務器端發(fā)送查詢請求,所述查詢請求用于查詢所述服務器端是否存在所述持久接口層和/或所述動態(tài)實現層的更新版本; 接收所述服務器端返回的所述持久接口層和/或所述動態(tài)實現層的更新版本; 使用所述更新版本更新所述 無線應用的所述持久接口層和/或所述動態(tài)實現層。
11.根據權利要求8所述的方法,其特征在于,所述無線應用中還集成了所述動態(tài)實現層的初始版本; 所述使用所述數據包運行所述無線應用的步驟包括:使用所述持久接口層中接口約定所約定的接口調用所述動態(tài)實現層的初始版本中的接口實現,動態(tài)加載所述接口實現的類庫。
12.根據權利要求11所述的方法,其特征在于,在所述動態(tài)加載所述接口實現的類庫的步驟之后,還包括: 向所述服務器端發(fā)送查詢請求,所述查詢請求用于查詢所述服務器端是否存在所述持久接口層和/或所述動態(tài)實現層的更新版本; 接收所述服務器端返回的所述持久接口層和/或所述動態(tài)實現層的更新版本; 使用所述更新版本更新所述無線應用的所述持久接口層和/或所述動態(tài)實現層。
13.一種無線應用發(fā)布裝置,其特征在于,包括: 集成模塊,用于將軟件開發(fā)包SDK的持久接口層集成到無線應用中,其中,所述SDK包括所述持久接口層和動態(tài)實現層,所述持久接口層包括供所述無線應用調用的接口約定,所述動態(tài)實現層包括與所述接口約定相對應的接口實現; 發(fā)布模塊,用于發(fā)布集成后的無線應用,并將所述SDK的動態(tài)實現層設置到服務器端。
14.一種無線應用實現裝置,其特征在于,包括: 獲取模塊,用于獲取集成了軟件開發(fā)包SDK的持久接口層的無線應用的數據包; 實現模塊,用于使用所述數據包運行所述無線應用; 其中,所述SDK包括所述持久接口層和動態(tài)實現層,所述持久接口層集成于所述無線應用中,包括供所述無線應用調用的接口約定;所述動態(tài)實現層設置于服務器端,包括與所述接口約定相對應的 接口實現。
【文檔編號】H04L29/08GK103491111SQ201210189767
【公開日】2014年1月1日 申請日期:2012年6月8日 優(yōu)先權日:2012年6月8日
【發(fā)明者】孫重波, 陳宮平, 管維剛 申請人:阿里巴巴集團控股有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
土默特左旗| 青神县| 罗田县| 璧山县| 灵璧县| 谢通门县| 渑池县| 南安市| 长泰县| 右玉县| 灌阳县| 江陵县| 大同市| 石门县| 红安县| 永兴县| 溧水县| 论坛| 财经| 宁乡县| 龙游县| 济阳县| 新巴尔虎左旗| 阿城市| 乐山市| 五莲县| 六盘水市| 平潭县| 乡城县| 大连市| 彰化县| 阿坝县| 报价| 福建省| 和静县| 毕节市| 淮阳县| 集安市| 淮南市| 乌苏市| 张家口市|