亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種移動客戶端廣告調(diào)用方法和系統(tǒng)的制作方法

文檔序號:7781661閱讀:231來源:國知局
一種移動客戶端廣告調(diào)用方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種移動客戶端廣告調(diào)用方法和系統(tǒng),方法包括:移動客戶端向服務(wù)器端發(fā)起數(shù)據(jù)請求,該數(shù)據(jù)請求中攜帶有加密參數(shù);其中,所述加密參數(shù)基于移動客戶端從本地代碼庫封裝的加解密規(guī)則和密鑰而生成,且所述加密參數(shù)為對廣告請求的驗證參數(shù);服務(wù)器接收到所述數(shù)據(jù)請求后,利用預(yù)先存儲的加解密規(guī)則進行解密,其中,如果解密成功,則返回相關(guān)廣告;如果解密失敗,則返回錯誤碼給所述移動客戶端。由于將加解密規(guī)則和密鑰封裝在本地代碼庫之中,而本地代碼庫不容易被破解,由此,提高了安全性,具有很好的技術(shù)效果。
【專利說明】一種移動客戶端廣告調(diào)用方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于一種移動客戶端廣告調(diào)用方法和系統(tǒng)。
【背景技術(shù)】
[0002]Android (安卓)是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動設(shè)備,如智能手機和平板電腦,由Google公司和開放手機聯(lián)盟領(lǐng)導(dǎo)及開發(fā),目前已經(jīng)占據(jù)著手機的大半市場。
[0003]Android的系統(tǒng)架構(gòu)和其操作系統(tǒng)一樣,采用了分層的架構(gòu)。
[0004]從架構(gòu)圖看,Android分為四個層,從高層到低層分別是應(yīng)用程序?qū)?、?yīng)用程序框架層、系統(tǒng)運行庫層和Linux內(nèi)核層。
[0005]其中,Android會同一系列核心應(yīng)用程序包一起發(fā)布,該應(yīng)用程序包包括客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有的應(yīng)用程序都是使用JAVA語
目編寫的。
[0006]此外,開發(fā)人員也可以完全訪問核心應(yīng)用程序所使用的API框架。該應(yīng)用程序的架構(gòu)設(shè)計簡化了組件的重用;任何一個應(yīng)用程序都可以發(fā)布它的功能塊并且任何其它的應(yīng)用程序都可以使用其所發(fā)布的功能塊(不過得遵循框架的安全性)。同樣,該應(yīng)用程序重用機制也使用戶可以方便的替換程序組件。
[0007]其中,隱藏在每個應(yīng)用后面的是一系列的服務(wù)和系統(tǒng),包括;
[0008]豐富而又可擴展的視圖(Views),可以用來構(gòu)建應(yīng)用程序,它包括列表(Lists),網(wǎng)格(Grids),文本框(Text boxes),按鈕(Buttons),甚至可嵌入的web瀏覽器。
[0009]內(nèi)容提供器(Content Providers)使得應(yīng)用程序可以訪問另一個應(yīng)用程序的數(shù)據(jù)(如聯(lián)系人數(shù)據(jù)庫),或者共享它們自己的數(shù)據(jù)
[0010]資源管理器(Resource Manager)提供非代碼資源的訪問,如本地字符串,圖形,和布局文件(Layout files)。
[0011]通知管理器(Notification Manager)使得應(yīng)用程序可以在狀態(tài)欄中顯示自定義的提示信息。
[0012]活動管理器(Activity Manager)用來管理應(yīng)用程序生命周期并提供常用的導(dǎo)航回退功能。
[0013]此外,Android包含一些C/C++庫,這些庫能被Android系統(tǒng)中不同的組件使用。它們通過Android應(yīng)用程序框架為開發(fā)者提供服務(wù)。以下是一些核心庫:
[0014]*系統(tǒng)C庫-一個從BSD繼承來的標(biāo)準(zhǔn)C系統(tǒng)函數(shù)庫Libc),它是專門為基于Embedded Iinux的設(shè)備定制的。
[0015]*媒體庫-基于PacketVideo OpenCORE;該庫支持多種常用的音頻、視頻格式回放和錄制,同時支持靜態(tài)圖像文件。編碼格式包括MPEG4,H.264,MP3, AAC, AMR, JPG, PNG。
[0016]^Surface Manager-對顯示子系統(tǒng)的管理,并且為多個應(yīng)用程序提供了 2D和3D圖
層的無縫融合。[0017]*LibWebCore_ —個最新的web瀏覽器引擎用,支持Android瀏覽器和一個可嵌入的web視圖。
[0018]目前,現(xiàn)有Android客戶端SDK中加密都是用Java源代碼進行加密的。因為Java代碼能夠被反編譯,所以加密的密鑰和加密方式容易在反編譯后暴露出來,由此,很容易在調(diào)用廣告的時候,由于惡意代碼而失效。

【發(fā)明內(nèi)容】

[0019]本發(fā)明所要解決的技術(shù)問題是提供了一種移動客戶端廣告調(diào)用方法和系統(tǒng),其能夠防止廣告調(diào)用的參數(shù)被破解,從而使得客戶端更加安全。
[0020]本發(fā)明解決上述技術(shù)問題所采取的技術(shù)方案如下:
[0021]一種移動客戶端廣告調(diào)用方法,包括:
[0022]移動客戶端向服務(wù)器端發(fā)起數(shù)據(jù)請求,該數(shù)據(jù)請求中攜帶有加密參數(shù);
[0023]其中,所述加密參數(shù)基于移動客戶端從本地代碼庫封裝的加解密規(guī)則和密鑰而生成,且所述加密參數(shù)為對廣告請求的驗證參數(shù);
[0024]服務(wù)器接收到所述數(shù)據(jù)請求后,利用預(yù)先存儲的加解密規(guī)則進行解密,其中,如果解密成功,則返回相關(guān)廣告;如果解密失敗,則返回錯誤碼給所述移動客戶端。
[0025]優(yōu)選的是,在服務(wù)器上用Java代碼預(yù)先存儲有加解密規(guī)則和密鑰。
[0026]優(yōu)選的是,所述移動客戶端為安卓客戶端,其中,所述本地代碼庫為二進制的C語言代碼。
[0027]優(yōu)選的是,所述加密參數(shù)的生成步驟包括:
[0028]安卓客戶端SDK通過JNI調(diào)用模塊將需要加密的參數(shù)傳遞給本地代碼模塊;本地代碼模塊根據(jù)存儲的加解密規(guī)則和密鑰對上述參數(shù)進行加密,并將加密后的參數(shù)通過JNI調(diào)用模塊傳遞給安卓客戶端SDK。
[0029]一種移動客戶端廣告調(diào)用系統(tǒng),包括:
[0030]數(shù)據(jù)包請求單元,用于向服務(wù)器端發(fā)起數(shù)據(jù)請求,該數(shù)據(jù)請求中攜帶加密參數(shù);其中,所述加密參數(shù)基于移動客戶端從本地代碼庫封裝的加解密規(guī)則和密鑰而生成,且所述加密參數(shù)為對廣告請求的驗證參數(shù);
[0031]服務(wù)器接收到所述數(shù)據(jù)請求后,利用預(yù)先存儲的加解密規(guī)則進行解密,其中,如果解密成功,則返回相關(guān)廣告;如果解密失敗,則返回錯誤碼給所述移動客戶端。
[0032]優(yōu)選的是,所述移動客戶端為安卓客戶端,包括:本地代碼模塊,用于存儲本地代碼庫,其中,本地代碼庫為二進制的C語言代碼。
[0033]優(yōu)選的是,進一步包括:加密參數(shù)獲取單元,用于獲取需要加密的參數(shù);
[0034]JNI調(diào)用模塊,用于將需要加密的參數(shù)傳遞給本地代碼模塊;
[0035]本地代碼模塊,用于根據(jù)存儲的加解密規(guī)則和密鑰對上述參數(shù)進行加密,并將加密后的參數(shù)通過JNI調(diào)用模塊傳遞給安卓客戶端SDK。
[0036]本發(fā)明采取了上述方案以后,由于將加解密規(guī)則和密鑰封裝在本地代碼庫之中,而本地代碼庫不容易被破解,由此,提高了安全性;此外,所述移動客戶端為安卓客戶端,其中,所述本地代碼庫為二進制的C語言代碼,因此,借助于二進制的庫文件形式存在的加解密規(guī)則和密鑰,使得整體的廣告調(diào)用過程更加安全,具有非常好的效果。[0037]本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
【專利附圖】

【附圖說明】
[0038]下面結(jié)合附圖對本發(fā)明進行詳細的描述,以使得本發(fā)明的上述優(yōu)點更加明確。其中,
[0039]圖1是本發(fā)明移動客戶端廣告調(diào)用方法的流程示意圖;
[0040]圖2是本發(fā)明移動客戶端廣告調(diào)用系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實施方式】
[0041]以下將結(jié)合附圖及實施例來詳細說明本發(fā)明的實施方式,借此對本發(fā)明如何應(yīng)用技術(shù)手段來解決技術(shù)問題,并達成技術(shù)效果的實現(xiàn)過程能充分理解并據(jù)以實施。需要說明的是,只要不構(gòu)成沖突,本發(fā)明中的各個實施例以及各實施例中的各個特征可以相互結(jié)合,所形成的技術(shù)方案均在本發(fā)明的保護范圍之內(nèi)。
[0042]另外,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0043]如圖1所示,是本發(fā)明實施例的移動客戶端廣告調(diào)用方法的流程示意圖,其中,其主要包括以下的步驟:
[0044]步驟101:客戶端與服務(wù)器協(xié)商加解密規(guī)則和密鑰,一般來說,對于任何的客戶端與服務(wù)器的交互,都需要針對相互之間的數(shù)據(jù)包協(xié)商其加解密規(guī)則和采用的密鑰方式等,例如,在移動廣告領(lǐng)域,為了廣告請求安全,廣告請求需要在客戶端SDK對廣告請求的一個驗證參數(shù)進行加密,后臺服務(wù)器接收到請求,根據(jù)客戶端SDK和服務(wù)后臺的加解密方式協(xié)議和密鑰對這個加密參數(shù)進行解密,如果解密成功說明這次請求有效,如果解密失敗說明這次請求為非法請求,不會返回廣告。該步驟和現(xiàn)有技術(shù)相同,不贅述。
[0045]步驟102:客戶端將加解密規(guī)則和密鑰放入本地代碼庫中,與現(xiàn)有技術(shù)不同,現(xiàn)的有Android客戶端SDK中加密都是用Java源代碼進行加密的。因為Java代碼能夠被反編譯,所以加密的密鑰和加密方式容易在反編譯后暴露出來,由此,很容易在調(diào)用廣告的時候,由于惡意代碼而失效。
[0046]為此,本申請將加解密規(guī)則和密鑰放入本地代碼庫,具體來說,所述移動客戶端為安卓客戶端,其中,所述本地代碼庫為二進制的C語言代碼,也即將所有的加解密規(guī)則和密鑰放入到C語言代碼的本地代碼庫,其相對java語言來說,其難以破解,由此,其安全性較大。
[0047]步驟103:獲取需要加密的參數(shù),具體來說,在Android客戶端SDK要發(fā)起廣告數(shù)據(jù)請求的時候,需要獲取需要加密的對廣告請求的驗證參數(shù);
[0048]步驟104:傳遞給本地代碼庫,由本地代碼庫進行加密,在實施例中,主要由Android客戶端SDK通過JNI調(diào)用模塊將需要加密的參數(shù)傳遞給本地代碼模塊;。
[0049]步驟105:將加密后的參數(shù)嵌入到數(shù)據(jù)請求中,并發(fā)送給服務(wù)器,例如,本地代碼模塊根據(jù)存儲的加解密規(guī)則和密鑰對上述參數(shù)進行加密,并將加密后的參數(shù)通過JNI調(diào)用模塊傳遞給安卓客戶端SDK,由此,可以將整體的數(shù)據(jù)請求傳遞給服務(wù)器;
[0050]步驟106:服務(wù)器接收到所述數(shù)據(jù)請求后,利用預(yù)先存儲的加解密規(guī)則進行解密,其中,如果解密成功,則返回相關(guān)廣告;如果解密失敗,則返回錯誤碼給所述移動客戶端,以下不再贅述。
[0051]也就是說,本發(fā)明通過在Android程序中調(diào)用封裝在程序SDK包里的本地代碼庫對廣告請求的一個驗證參數(shù)進行加密,從而避免了用Java代碼對參數(shù)進行加密而引起的不安全的情況,且該種方式安全性好。
[0052]在一個具體的應(yīng)用實例中,主要包括以下的主要步驟:
[0053]S1、利用本地代碼在Android客戶端SDK中對參數(shù)進行加密首先要確定加解密方式,本技術(shù)采用了自定義的加解密方式,后臺的解密使用Java語言實現(xiàn),而Android客戶端SDK的加密使用C語言實現(xiàn)。
[0054]S2、在確定了加解密方式后,需要定義密鑰??蛻舳薙DK的密鑰必須服務(wù)后臺的密鑰一致。服務(wù)后臺存儲密鑰相對比較安全,而客戶端SDK中采用了本地代碼封裝加密代碼后,密鑰存放在本地代碼庫中也是相同的安全。
[0055]S3、在確定了加解密方式和密鑰后,在Android客戶端開發(fā)過程中就利用JNI技術(shù)調(diào)用封裝了加密函數(shù)的本地代碼庫。
[0056]把需要加密的參數(shù),通過JNI把參數(shù)傳入本地代碼加密函數(shù),然后本地代碼對參數(shù)進行加密,在通過JNI返回給客戶SDK序。
[0057]S4、然后客戶端SDK把加密后的參數(shù)和其他參數(shù)一起通過網(wǎng)絡(luò)請求訪問服務(wù)后臺,服務(wù)后臺接收到這些參數(shù)后,首先對加密的參數(shù)進行解密。如果解密成功,就返回相關(guān)廣告,如果解密失敗說明這次請求為非法請求,只返回錯誤碼給客戶端。
[0058]因此,借助于二進制的庫文件形式存在的加解密規(guī)則和密鑰,使得整體的廣告調(diào)用過程更加安全,具有非常好的效果。
[0059]如圖2所示,一種移動客戶端廣告調(diào)用系統(tǒng),包括:
[0060]數(shù)據(jù)包請求單元,用于向服務(wù)器端發(fā)起數(shù)據(jù)請求,該數(shù)據(jù)請求中攜帶加密參數(shù);其中,所述加密參數(shù)基于移動客戶端從本地代碼庫封裝的加解密規(guī)則和密鑰而生成,且所述加密參數(shù)為對廣告請求的驗證參數(shù);
[0061]服務(wù)器接收到所述數(shù)據(jù)請求后,利用預(yù)先存儲的加解密規(guī)則進行解密,其中,如果解密成功,則返回相關(guān)廣告;如果解密失敗,則返回錯誤碼給所述移動客戶端。
[0062]優(yōu)選的是,所述移動客戶端為安卓客戶端,包括:本地代碼模塊,用于存儲本地代碼庫,其中,本地代碼庫為二進制的C語言代碼。
[0063]優(yōu)選的是,進一步包括:加密參數(shù)獲取單元,用于獲取需要加密的參數(shù);
[0064]JNI調(diào)用模塊,用于將需要加密的參數(shù)傳遞給本地代碼模塊;
[0065]本地代碼模塊,用于根據(jù)存儲的加解密規(guī)則和密鑰對上述參數(shù)進行加密,并將加密后的參數(shù)通過JNI調(diào)用模塊傳遞給安卓客戶端SDK。
[0066]本發(fā)明系統(tǒng)和方法具有相同的技術(shù)效果,即其由于將加解密規(guī)則和密鑰封裝在本地代碼庫之中,而本地代碼庫不容易被破解,由此,提高了安全性;此外,所述移動客戶端為安卓客戶端,其中,所述本地代碼庫為二進制的C語言代碼,因此,借助于二進制的庫文件形式存在的加解密規(guī)則和密鑰,使得整體的廣告調(diào)用過程更加安全,具有非常好的效果。
[0067]需要說明的是,對于上述方法實施例而言,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請并不受所描述的動作順序的限制,因為依據(jù)本申請,某些步驟可以采用其他順序或者同時進行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本申請所必須的。
[0068]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。
[0069]而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
[0070]最后應(yīng)說明的是:以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,盡管參照前述實施例對本發(fā)明進行了詳細的說明,對于本領(lǐng)域的技術(shù)人員來說,其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種移動客戶端廣告調(diào)用方法,其特征在于,包括: 移動客戶端向服務(wù)器端發(fā)起數(shù)據(jù)請求,該數(shù)據(jù)請求中攜帶有加密參數(shù); 其中,所述加密參數(shù)基于移動客戶端從本地代碼庫封裝的加解密規(guī)則和密鑰而生成,且所述加密參數(shù)為對廣告請求的驗證參數(shù); 服務(wù)器接收到所述數(shù)據(jù)請求后,利用預(yù)先存儲的加解密規(guī)則進行解密,其中,如果解密成功,則返回相關(guān)廣告;如果解密失敗,則返回錯誤碼給所述移動客戶端。
2.根據(jù)權(quán)利要求1所述的移動客戶端廣告調(diào)用方法,其特征在于,在服務(wù)器上用Java代碼預(yù)先存儲有加解密規(guī)則和密鑰。
3.根據(jù)權(quán)利要求1所述的移動客戶端廣告調(diào)用方法,其特征在于,所述移動客戶端為安卓客戶端,其中,所述本地代碼庫為二進制的C語言代碼。
4.根據(jù)權(quán)利要求3所述的移動客戶端廣告調(diào)用方法,其特征在于,所述加密參數(shù)的生成步驟包括: 安卓客戶端SDK通過JNI調(diào)用模塊將需要加密的參數(shù)傳遞給本地代碼模塊;本地代碼模塊根據(jù)存儲的加解密規(guī)則和密鑰對上述參數(shù)進行加密,并將加密后的參數(shù)通過JNI調(diào)用模塊傳遞給安卓客戶端SDK。
5.一種移動客戶端廣告調(diào)用系統(tǒng),其特征在于,包括: 數(shù)據(jù)包請求單元,用于向服務(wù)器端發(fā)起數(shù)據(jù)請求,該數(shù)據(jù)請求中攜帶加密參數(shù);其中,所述加密參數(shù)基于移動客戶端從本地代碼庫封裝的加解密規(guī)則和密鑰而生成,且所述加密參數(shù)為對廣告請求的驗證參數(shù); 服務(wù)器接收到所述數(shù)據(jù)請求后,利用預(yù)先存儲的加解密規(guī)則進行解密,其中,如果解密成功,則返回相關(guān)廣告;如果解密失敗,則返回錯誤碼給所述移動客戶端。
6.根據(jù)權(quán)利要求5所述的移動客戶端廣告調(diào)用系統(tǒng),其特征在于,所述移動客戶端為安卓客戶端,包括:本地代碼模塊,用于存儲本地代碼庫,其中,所述本地代碼庫為二進制的C語言代碼。
7.根據(jù)權(quán)利要求6所述的移動客戶端廣告調(diào)用系統(tǒng),其特征在于,進一步包括:加密參數(shù)獲取單元,用于獲取需要加密的參數(shù); JNI調(diào)用模塊,用于將需要加密的參數(shù)傳遞給本地代碼模塊; 本地代碼模塊,用于根據(jù)存儲的加解密規(guī)則和密鑰對上述參數(shù)進行加密,并將加密后的參數(shù)通過JNI調(diào)用模塊傳遞給安卓客戶端SDK。
【文檔編號】H04L29/06GK103746967SQ201310716777
【公開日】2014年4月23日 申請日期:2013年12月23日 優(yōu)先權(quán)日:2013年12月23日
【發(fā)明者】范振江, 潘騰, 郭偉, 吳遠青, 王瑋, 王旭東 申請人:北京掌闊技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1