應用的渠道信息的處理方法和裝置與流程
2023-05-26 11:23:41
本發明涉及計算機領域,具體而言,涉及一種應用的渠道信息的處理方法和裝置。
背景技術:
在智慧型手機、平板電腦等智能終端上,需要通過app(application,即手機軟體)來完善智能終端的功能,其中,智能終端上的app安裝包通常是在應用市場上下載得到的。為了統計app在應用市場中的銷量、下載量等信息,需要在app安裝包中添加渠道標識,以便通過該渠道標識進行統計。
目前,在app安裝包上添加渠道標識通常採用gradle多渠道打包方案、maven工具打包的方案或者apktool逆向打包的方案。但是,採用gradle、maven和apktool渠道包打包的方案,其過程非常慢,而且十分複雜,每打一個渠道包都需要重新構建工程或重新籤名,這樣將會降低渠道包打包效率;採用maven工具打包的方案需要人為修改打渠道包的代碼,操作比較複雜,打包效率也比較低。
針對上述相關技術中的渠道包的處理方案需要重新編譯安裝包,導致渠道包的處理效率較低的問題,目前尚未提出有效的解決方案。
技術實現要素:
本發明實施例提供了一種應用的渠道信息的處理方法和裝置,以至少解決相關技術中的渠道包的處理方案需要重新編譯安裝包,導致渠道包的處理效率較低的技術問題。
根據本發明實施例的一個方面,提供了一種應用的渠道信息的處理方法,包括:獲取第一渠道信息,其中,所述第一渠道信息用於指示目標應用被發布到目標應用市場的信息;對所述第一渠道信息進行加密處理,得到第二渠道信息;在所述目標應用的安裝包中的目標目錄下添加第一類目標空文件和第二類目標空文件,其中,所述第一類目標空文件的名稱根據所述第一渠道信息得到,所述第二類目標空文件的名稱根據所述第二渠道信息得到,所述第一類目標空文件和所述第二類目標空文件為不參與對所述安裝包進行完整性校驗的空文件。
根據本發明實施例的另一方面,還提供了一種應用的渠道信息的處理裝置,包括:獲取單元,用於獲取第一渠道信息,其中,所述第一渠道信息用於指示目標應用被發布到目標應用市場的信息;處理單元,用於對所述第一渠道信息進行加密處理,得到第二渠道信息;添加單元,用於在所述目標應用的安裝包中的目標目錄下添加第一類目標空文件和第二類目標空文件,其中,所述第一類目標空文件的名稱根據所述第一渠道信息得到,所述第二類目標空文件的名稱根據所述第二渠道信息得到,所述第一類目標空文件和所述第二類目標空文件為不參與對所述安裝包進行完整性校驗的空文件。
在本發明實施例中,通過獲取目標應用被發布到目標應用市場的第一渠道信息,並將該第一渠道信息進行加密處理,得出第二渠道信息,然後在目標應用的安裝包中的目標目錄內添加不參與對安裝包進行完整性校驗的空文件,並將該空文件分為第一類目標空文件和第二類目標空文件,其中,第一類目標空文件的名稱是根據第一渠道信息得到的,第二類目標空文件的名稱是根據第二渠道信息得到的,從而完成對目標應用的安裝包的打包,得到經打包處理後的渠道包,實現了提高對應用的渠道包的處理效率的技術效果,解決了相關技術中的渠道包的處理方案需要重新編譯安裝包,導致渠道包的處理效率較低的技術問題。
附圖說明
此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用於解釋本發明,並不構成對本發明的不當限定。在附圖中:
圖1是根據本發明實施例的應用的渠道信息的處理方法的硬體環境的示意圖;
圖2是根據本發明實施例的一種可選的應用的渠道信息的處理方法的流程圖;
圖3是根據本發明實施例的一種可選的渠道包打包方案的流程圖;
圖4是根據本發明實施例的一種可選的原始渠道信息的示意圖;
圖5是根據本發明實施例的一種可選的主包meta-inf目錄的示意圖;
圖6是根據本發明實施例的一種可選的注入對渠道信息加密後的特定規則的空文件的示意圖;
圖7是根據本發明實施例的一種可選的獲取渠道信息的示意圖;
圖8是根據本發明實施例的一種可選的安全快速的android渠道包打包方案示意圖;
圖9是根據本發明實施例的一種可選的應用的渠道信息的處理裝置的示意圖;
圖10是根據本發明實施例的另一種可選的應用的渠道信息的處理裝置的示意圖;
圖11是根據本發明實施例的另一種可選的應用的渠道信息的處理裝置的示意圖;
圖12是根據本發明實施例的另一種可選的應用的渠道信息的處理裝置的示意圖;
圖13是根據本發明實施例的另一種可選的應用的渠道信息的處理裝置的示意圖;
圖14是根據本發明實施例的一種終端的結構框圖。
具體實施方式
為了使本技術領域的人員更好地理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分的實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬於本發明保護的範圍。
需要說明的是,本發明的說明書和權利要求書及上述附圖中的術語「第一」、「第二」等是用於區別類似的對象,而不必用於描述特定的順序或先後次序。應該理解這樣使用的數據在適當情況下可以互換,以便這裡描述的本發明的實施例能夠以除了在這裡圖示或描述的那些以外的順序實施。此外,術語「包括」和「具有」以及他們的任何變形,意圖在於覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限於清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對於這些過程、方法、產品或設備固有的其它步驟或單元。
首先,在對本發明實施例進行描述的過程中出現的部分名詞或者術語適用於如下解釋:
渠道:現在app每一個版本開發完成後,都將發布到各大應用市場,如應用寶、360手機助手、百度手機管家;為了統計這些app在應用市場的效果(例如銷量,下載量等),就需求一種方法來唯一標示它們,渠道就是這種標識。
apk:android應用的安裝文件。
安裝包:即軟體安裝包,是可自行解壓縮文件的集合,其中包括軟體安裝的所有文件。
渠道包:發布到各大應用市場的安裝包即渠道包。
渠道信息,渠道包中用於指示app所發布到的應用市場的信息。
實施例1
根據本發明實施例,提供了一種應用的渠道信息的處理方法實施例。
可選地,在本實施例中,上述應用的渠道信息的處理方法可以應用於如圖1所示的由伺服器102和終端104所構成的硬體環境中。如圖1所示,伺服器102通過網絡與終端104進行連接,上述網絡包括但不限於:廣域網、城域網或區域網,終端104並不限定於pc、手機、平板電腦等。本發明實施例的應用的渠道信息的處理方法可以由伺服器102來執行,也可以由終端104來執行,還可以是由伺服器102和終端104共同執行。其中,終端104執行本發明實施例的應用的渠道信息的處理方法也可以是由安裝在其上的客戶端來執行。
圖2是根據本發明實施例的一種可選的應用的渠道信息的處理方法的流程圖,如圖2所示,該方法可以包括以下步驟:
步驟s202,獲取第一渠道信息,其中,第一渠道信息用於指示目標應用被發布到目標應用市場的信息;
步驟s204,對第一渠道信息進行加密處理,得到第二渠道信息;
步驟s206,在目標應用的安裝包中的目標目錄下添加第一類目標空文件和第二類目標空文件,其中,第一類目標空文件的名稱根據第一渠道信息得到,第二類目標空文件的名稱根據第二渠道信息得到,第一類目標空文件和第二類目標空文件為不參與對安裝包進行完整性校驗的空文件。
通過上述步驟s202至步驟s206,通過獲取目標應用被發布到目標應用市場的第一渠道信息,並將該第一渠道信息進行加密處理,得出第二渠道信息,然後在目標應用的安裝包中的目標目錄內添加不參與對安裝包進行完整性校驗的空文件,並將該空文件分為根據第一渠道信息得出空文件的名稱的第一類目標空文件和根據第二渠道信息得出空文件的名稱的第二類目標空文件,從而完成對原安裝包的打包,得到經過打包處理後的渠道包,可以解決相關技術中的渠道包的處理方案需要重新編譯安裝包,導致渠道包的處理效率較低的技術問題,進而達到提高應用的渠道包的處理效率的技術效果。
在步驟s202提供的技術方案中,本發明實施例對目標應用的類型不做具體限定,例如目標應用可以是微信、qq瀏覽器、王者榮耀等基於智能終端的app應用;目標應用市場可以是發布目標應用的應用市場,例如目標應用市場可以是應用寶、360手機助手、百度手機管家等提供app下載的應用市場。目標應用被發布到目標應用市場之後,智能終端可以從目標應用市場中下載該目標應用。
在實際應用場景中,應用被發布到應用市場之後,從該應用市場所下載得到的應用安裝包即為該應用的渠道包,該渠道包中可以包括用於指示該應用被發布到該應用市場的渠道信息。可選地,本發明實施例可以根據實際需求設定目標應用所能夠發布到的目標應用市場的信息,其中,用於指示目標應用被發布到目標應用市場的信息可以為第一渠道信息。作為一種可選的實施例,第一渠道信息可以包括:目標應用市場的名稱和目標應用市場的標識號。需要說明的是,第一渠道信息還可以包括其他信息,此處不再一一舉例。本發明實施例可以首先確定該目標應用所發布到的目標應用市場,然後獲取該目標應用市場的相關信息,包括但並不限於目標應用市場的名稱以及目標應用市場的標識號,以實現獲取第一渠道信息。
在步驟s204提供的技術方案中,在獲取第一渠道信息之後,本發明實施例還可以對第一渠道信息進行加密處理,以得到第二渠道信息,這樣能夠達到提高第一渠道信息的安全性的效果。需要說明的是,本發明實施例在獲取到的第一渠道信息和第二渠道信息之後,可以對其進行存儲,以便於在對應用的渠道信息進行打包處理時可以方便使用,具體使用過程可以參見步驟s206所提供的技術方案的介紹。還需要說明的是,本發明實施例對第一渠道信息和第二渠道信息的存儲位置不做具體限定,例如,其可以保存在目標應用的安裝包中,也可以保存在執行該應用的渠道信息的處理方法的伺服器的存儲器中或目標應用市場對應的存儲器中。還需要說明的是,本發明實施例中可以採用不可逆的md5加鹽加密的方式對第一渠道信息進行加密處理,得到加密後的第二渠道信息。此處需要說明的是,md5的全稱是message-digestalgorithm5(信息-摘要算法),是讓大容量信息在數字籤名軟體籤署私人密匙前被「壓縮」成一種保密的格式。加鹽加密是一種對系統登錄口令的加密方式,它實現的方式是將每一個口令同一個叫做「鹽」(salt)的n位隨機數相關聯,並將口令與隨機數連接起來然後一同加密。採用不可逆的md5加鹽加密的方式對第一渠道信息進行加密處理能夠進一步地提高第一渠道信息的安全性。還需要說明的是,本發明實施例還可以採用其他加密方式對第一渠道信息進行加密處理,此處不再一一舉例說明。
在步驟s206提供的技術方案中,首先需要說明的是,能夠被下載並成功安裝使用的目標應用的安裝包中的信息是完整的,如果安裝包中的信息不完整則該目標應用無法正常使用,故目標應用的安裝包被下載之後首先需要對其進行完整性校驗,在校驗通過的情況下才允許正常安裝使用該目標應用。目標應用的安裝包中包括一個目標目錄,目標目錄可以為meta-inf目錄,mata-inf可以相當於一個信息包,meta-inf目錄中的文件和目錄獲得java、android平臺的認可與解釋,用來配置應用程式、拓展程序、類加載器。並且,meta-inf目錄內的空文件不參與在安裝目標應用的過程中進行的完整性校驗,所謂完整性校驗可以理解為在meta-inf目錄內所添加的空文件不會影響目標應用的完整性,同樣也不會影響目標應用的安裝和使用,對目標應用的安裝包的完整性校驗無需對在meta-inf目錄內所添加的空文件進行校驗。利用上述原理本發明實施例可以通過在meta-inf目錄內添加空文件的方式完成對目標應用打渠道包的操作。
本發明實施例為了實現對目標應用的渠道包打包,可以在目標應用的安裝包中的目標目錄下添加空文件,其中,在目標目錄下添加的空文件可以包括第一類目標空文件和第二類目標空文件,其中,第一類目標空文件和第二類目標空文件的名稱可以根據預先獲取並存儲的第一渠道信息和第二渠道信息命名,具體地,第一類目標空文件的名稱可以根據第一渠道信息得到,第二類目標空文件的名稱可以根據第二渠道信息得到,且第一類目標空文件和第二類目標空文件不參與對目標應用的安裝包進行完整性校驗,也即在對目標應用的安裝包進行完整性校驗時無需對第一類目標空文件和第二類目標空文件進行校驗。此處需要說明的是,本發明實施例對在目標目錄下所添加的第一類目標空文件和第二類目標空文件的個數不做具體限定,可以是一個,也可以是多個。第一類目標空文件的個數可以根據第一渠道信息中所包括的信息內容確定,例如,假設第一渠道信息中只包括目標應用市場的名稱,則第一類目標空文件的個數可以設置為一個,且該第一類目標空文件可以以目標應用市場的名稱命名;假設第一渠道信息中包括目標應用市場的名稱以及目標應用市場的標識號,則第一類目標空文件的個數可以設置為兩個,其分別命名為目標應用市場的名稱以及目標應用市場的標識號。同理,第二類目標空文件的個數可以根據第二渠道信息中所包括的信息內容確定,例如,假設第二渠道信息中只包括一條加密信息,則第二類目標空文件的個數可以設置為一個,且該第二類目標空文件可以以該條加密信息命名;假設第二渠道信息中只包括多條加密信息,則第二類目標空文件的個數可以設置為多個,且其分別以多條加密信息命名。上述只是簡單舉例說明第一類目標空文件以及第二類目標空文件的個數的確定方法,需要說明的是,第一類目標空文件以及第二類目標空文件的個數可以根據實際需求確定,此處不做具體限定。
採用本發明,通過在目標目錄內添加根據第一渠道信息命名的第一類目標空文件和根據第二渠道信息命名的第二類目標空文件,從而可以將該第一類目標空文件和第二類目標空文件的名稱作為渠道標識,完成目標應用的渠道包的打包處理。
作為一種可選的實施例,第一渠道信息可以包括:目標應用市場的名稱和目標應用市場的標識號,其中,步驟s206在目標應用的安裝包中的目標目錄下添加第一類目標空文件和第二類目標空文件可以包括:
步驟s2062,在目標應用的安裝包中的目標目錄下至少添加第一目標空文件和第二目標空文件,其中,第一類目標空文件包括第一目標空文件,第二類目標空文件包括第二目標空文件;
步驟s2064,將第一目標空文件的名稱設置為目標應用市場的名稱和目標應用市場的標識號中的至少一個,將第二目標空文件的名稱設置為第二渠道信息。
需要說明的是,該可選實施例中在目標應用的目標目錄下可以添加一個或多個第一類目標空文件,以及一個或多個第二類目標空文件,其中,第一類目標空文件中可以包括一個或多個第一目標空文件,第二類目標空文件可以包括一個或多個第二目標空文件。第一目標空文件的名稱可以根據第一渠道信息得到,具體可以設置為目標應用市場的名稱和目標應用市場的標識號中的至少一個;第二目標空文件的名稱可以設置為第二渠道信息。
採用本發明上述可選實施例,通過將第一類渠道信息設置為第一目標空文件的名稱,將第二類渠道信息設置為第二目標空文件的名稱,能夠實現將目標應用的渠道信息打包在目標應用的安裝包中,以完成目標應用的渠道包的打包處理,這樣無需修改代碼,無需對目標應用的安裝包進行重新編譯,也無需重新籤名,進而縮短渠道包的打包時間,達到提高目標應用的渠道包打包效率的效果。
作為一種可選的實施例,步驟s2064將第一目標空文件的名稱設置為目標應用市場的名稱和目標應用市場的標識號中的至少一個可以包括以下幾種情況:
第一種情況,將第一目標空文件的名稱設置為目標應用市場的名稱或目標應用市場的標識號。
第二種情況,將第一目標空文件的名稱設置為包括目標應用市場的名稱和目標應用市場的標識號。
第三種情況,將第一目標空文件的名稱設置為目標應用市場的名稱,將第三目標空文件的名稱設置為目標應用市場的標識號,其中,第一類目標空文件還包括第三目標空文件。
例如,當第一類目標空文件中只有一個空文件時,也即第一類目標空文件包括第一目標空文件時,該第一目標空文件的名稱可以設置為目標應用市場的名稱,或設置為目標應用市場的標識號,或設置為目標應用市場的名稱和目標應用市場的標識號的組合。
例如,當第一類目標空文件中包括多個空文件時,例如兩個,則這兩個目標空文件的名稱可以分別設置為目標應用市場的名稱與目標應用市場的標識號。可選地,當第一類目標空文件包括第一目標空文件和第三目標空文件時,第一目標文件的名稱可以設置為目標應用市場的名稱,第三目標文件的名稱可以設置為目標應用市場的標識號,或者第一目標文件的名稱可以設置為目標應用市場的標識號,第三目標文件的名稱可以設置為目標應用市場的名稱。
採用本發明上述可選實施例,通過上述幾種情況可以實現將第一渠道信息完整地體現在第一目標空文件的名稱,將第二渠道信息完整地體現在第二目標空文件的名稱,這樣可以使得根據第一目標空文件的名稱和第二目標空文件的名稱能夠直接獲取到目標應用的渠道信息,進而達到提高目標應用的渠道包的打包效率的效果。
作為一種可選的實施例,在步驟s206目標應用的安裝包中的目標目錄下添加第一類目標空文件和第二類目標空文件之後,該可選實施例還可以包括步驟s207至步驟s210:
步驟s207,在目標應用被啟動之後,讀取目標目錄下的第二類目標空文件的名稱;
步驟s208,對第二類目標空文件的名稱進行解密處理,得到第三渠道信息;
步驟s209,將第三渠道信息與目標目錄下的第一類目標空文件的名稱進行匹配;
步驟s210,在第三渠道信息與第一類目標空文件的名稱匹配的情況下,確定第一類目標空文件的名稱所表示的第一渠道信息正確。
需要說明的是,在目標應用被啟動後,目標應用可以讀取目標目錄下的第二類目標空文件的名稱,並對第二類目標空文件的名稱進行解密處理,得到第三渠道信息。此處需要說明的是,在第一渠道信息沒有被篡改的情況下,第三渠道信息與第一渠道信息匹配;在第一渠道信息被篡改的情況下,第三渠道信息與第一渠道信息不匹配。在獲取第三渠道信息之後,該可選實施例可以將該第三渠道信息與第一類目標空文件名稱進行匹配,在第三渠道信息與第一類目標空文件名稱匹配的情況下,則可以說明第三渠道信息與第一渠道信息匹配,進而可以確定第一類目標文件的名稱所表示的第一渠道信息正確;在第三渠道信息與第一類目標空文件名稱不匹配的情況下,則可以說明第三渠道信息與第一渠道信息不匹配,進而可以確定第一類目標文件的名稱所表示的第一渠道信息不正確,此時存在安全風險。此處的「匹配」可以是相同或者相等。
本發明上述可選實施例,通過對第二類目標空文件的名稱進行解密得到第三渠道信息,再判斷第三渠道信息與第一類目標空文件的名稱是否匹配,從而判斷第一渠道信息是否被篡改,以達到確保渠道信息的準確性和安全性的目的。
作為一種可選的實施例,在步驟s206目標應用的安裝包中的目標目錄下添加第一類目標空文件和第二類目標空文件之後,該可選實施例還可以包括步驟s211:
步驟s211,向伺服器發送攜帶有第一渠道信息的目標請求,其中,目標請求用於請求獲取目標應用在目標應用市場的下載量,第一渠道信息由第一類目標空文件的名稱表示;
步驟s212,接收伺服器響應目標請求所發送的目標響應,其中,目標響應中攜帶有指示下載量的信息。
需要說明的是,該可選實施例中的目標請求中可以攜帶有第一渠道信息,目標請求可以用於請求獲取目標應用在目標應用市場的下載量。該可選實施例中目標請求的發送方可以是任意終端或者區別與接收目標請求的其他伺服器。當該可選實施例中的伺服器接收到目標請求之後,伺服器可以對該目標請求進行響應,在對該響應過程進行具體介紹之前,首先需要說明的是,目標應用被下載之後,目標應用可以向該伺服器上報第一渠道信息,伺服器可以存儲並累計接收到第一渠道信息的次數,其中,該累計得到的次數可以用於指示目標應用在目標應用市場的下載量。伺服器在接收到目標請求之後,可以包括根據已累計得到的接收到第一渠道信息的次數返回目標響應,其中,該目標響應中可以攜帶有伺服器已累計得到的接收到第一渠道信息的次數,以指示目標應用在目標應用市場的下載量。
採用本發明上述實施例,通過伺服器響應目標請求並返回攜帶有指示目標應用在目標應用市場的下載量的信息的目標響應,能夠實現快速準確地獲取目標應用在目標應用市場的下載量的信息的目的。
需要說明的是,本發明實施例可以應用在android平臺。
本發明還提供了一種優選實施例,該優選實施例提供了一種安全快速的android渠道包打包方案,本方案只需要編譯構建一次主包,其他渠道包通過往主包中注入不參與apk完整性校驗的空文件,這些空文件使用特定規則的加密字符命名;然後在app啟動時,讀取這些特定文件的名稱,使用對應的解密方法進行解密,校驗並提取渠道信息;渠道包無需修改代碼,無需重新編譯,無需重新籤名,從而大大的減少來渠道的打包時間,一個渠道包輸出時間縮短到秒級。
該方案描述如下:
androidapk使用的是和java同一套籤名校驗方法,放在meta-inf目錄下的空文件原則上是不進行籤名校驗的;apk安裝時的完整性校驗是不會校驗meta-inf目錄下的空文件,因此可以在無需重新編譯打包的情況下,通過往apk注入空文件的方式實現渠道信息動態修改。
由於meta-inf目錄下的空文件可以隨便注入且可以繞過apk完整性和籤名校驗,所以會存在安全風險。為解決安全問題,該優選實施例可以採用不可逆的md5加鹽加密的方式對空文件名稱進行加密處理,然後在app啟動時進行相應的解密算法校驗並提取有效信息。
圖3是根據本發明實施例的一種可選的渠道包打包方案的流程圖,如圖3所示,由於android渠道包apk無需修改源碼,也無需重新編譯,籤名,因此該方法可以包括以下步驟:
步驟s302,編譯主包。
步驟s304,使用python腳本對渠道信息進行加密處理。其中,python是一種面向對象的解釋型計算機設計語言。此處的加密處理採用不可逆的md5加鹽加密的方式。
步驟s306,在主包apk文件中通過腳本往meta-inf目錄下注入以加密後的渠道信息命名的滿足特定規則的空文件。其中,特定規則可以根據實際需求設定,此處不做具體限定。
步驟s308,在app啟動後讀取meta-inf目錄下的滿足特定規則的空文件,使用對應的解密算法從空文件名稱校驗並提取渠道信息。
針對上述執行流程,現舉例如下:
圖4是根據本發明實施例的一種可選的原始渠道信息的示意圖,如圖4所示,獲取的原始渠道信息包括渠道的名稱:「channel=ad_xiaomi」;渠道的編號:「channel_id=100005」。
圖5是根據本發明實施例的一種可選的主包meta-inf目錄的示意圖,如圖5所示,在編譯主包中包括meta-inf目錄。
圖6是根據本發明實施例的一種可選的注入對渠道信息加密後的特定規則的空文件的示意圖,如圖6所示,在meta-inf目標的文件夾中加入名稱為channel_ad_xiaomi的空文件、名稱為id_100005的空文件以及根據加密後的字符命名的空文件。
圖7是根據本發明實施例的一種可選的獲取渠道信息的示意圖,如圖7所示,在app啟動時對空文件的名稱進行校驗解密並提取渠道信息,其中,獲取渠道信息可以通過抓包的方式。利用所提取到的渠道信息可以進行應用與統計,例如統計app的下載量。
圖8是根據本發明實施例的一種可選的安全快速的android渠道包打包方案示意圖,如圖8所示,該渠道包打包方案的具體過程可以描述為:渠道信息使用不可逆的md5加鹽加密方法進行加密後得到加密後渠道信息;然後使用特定規則處理加密後的渠道信息;在編譯主包文件夾中插入以處理後的渠道信息命名的空文件;至此渠道包打包過程結束。在app啟動之後,app讀取特定規則的空文件,並使用對應的解密算法對空文件的名稱進行校驗,以實現提取渠道信息。
本發明所提供的快速安全的渠道打包方式,可以無需人工修改源碼,無需重新編譯構建apk,無需重新籤名apk,對渠道信息進行了防篡改加密處理,實現了1秒打一個安全的渠道包,極大的提高了渠道包打包效率。
本發明中使用通過腳本往meta-inf目錄下注入以加密後的渠道信息命名的滿足特定規則的空文件,並再app啟動時讀取空文件,並通過對應的解密算法校驗提取渠道信息,最後應用在統計中。
需要說明的是,對於前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發明並不受所描述的動作順序的限制,因為依據本發明,某些步驟可以採用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬於優選實施例,所涉及的動作和模塊並不一定是本發明所必須的。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到根據上述實施例的方法可藉助軟體加必需的通用硬體平臺的方式來實現,當然也可以通過硬體,但很多情況下前者是更佳的實施方式。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該計算機軟體產品存儲在一個存儲介質(如rom/ram、磁碟、光碟)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,伺服器,或者網絡設備等)執行本發明各個實施例所述的方法。
實施例2
根據本發明實施例,還提供了一種用於實施上述應用的渠道信息的處理方法的應用的渠道信息的處理裝置。圖9是根據本發明實施例的一種可選的應用的渠道信息的處理裝置的示意圖,如圖9所示,該裝置可以包括:
獲取單元91,用於獲取第一渠道信息,其中,第一渠道信息用於指示目標應用被發布到目標應用市場的信息;處理單元93,用於對第一渠道信息進行加密處理,得到第二渠道信息;添加單元95,用於在目標應用的安裝包中的目標目錄下添加第一類目標空文件和第二類目標空文件,其中,第一類目標空文件的名稱根據第一渠道信息得到,第二類目標空文件的名稱根據第二渠道信息得到,第一類目標空文件和第二類目標空文件為不參與對安裝包進行完整性校驗的空文件。
需要說明的是,該實施例中的獲取單元91可以用於執行本申請實施例1中的步驟s202,該實施例中的處理單元93可以用於執行本申請實施例1中的步驟s204,該實施例中的添加單元95可以用於執行本申請實施例1中的步驟s206。
此處需要說明的是,上述模塊與對應的步驟所實現的示例和應用場景相同,但不限於上述實施例1所公開的內容。需要說明的是,上述模塊作為裝置的一部分可以運行在如圖1所示的硬體環境中,可以通過軟體實現,也可以通過硬體實現。
作為一種可選的實施例,如圖10所示,第一渠道信息可以包括:目標應用市場的名稱和目標應用市場的標識號,其中,添加單元95包括:添加模塊951,用於在目標應用的安裝包中的目標目錄下至少添加第一目標空文件和第二目標空文件,其中,第一類目標空文件包括第一目標空文件,第二類目標空文件包括第二目標空文件;設置模塊953,用於將第一目標空文件的名稱設置為目標應用市場的名稱和目標應用市場的標識號中的至少一個,將第二目標空文件的名稱設置為第二渠道信息。
作為一種可選的實施例,如圖11所示,設置模塊953可以包括:第一設置子模塊9531,用於將第一目標空文件的名稱設置為目標應用市場的名稱或目標應用市場的標識號;或者第二設置子模塊9533,用於將第一目標空文件的名稱設置為包括目標應用市場的名稱和目標應用市場的標識號;或者第三設置子模塊9535,用於將第一目標空文件的名稱設置為目標應用市場的名稱,將第三目標空文件的名稱設置為目標應用市場的標識號,其中,第一類目標空文件還包括第三目標空文件。
作為一種可選的實施例,如圖12所示,該實施例還可以包括:讀取單元121,用於在所述目標應用的安裝包中的目標目錄下添加第一類目標空文件和第二類目標空文件之後,在目標應用被啟動之後,讀取目標目錄下的第二類目標空文件的名稱;解密單元123,用於對第二類目標空文件的名稱進行解密處理,得到第三渠道信息;匹配單元125,用於將第三渠道信息與目標目錄下的第一類目標空文件的名稱進行匹配;確定單元127,用於在第三渠道信息與第一類目標空文件的名稱匹配的情況下,確定第一類目標空文件的名稱所表示的第一渠道信息正確。
作為一種可選的實施例,如圖13所示,該實施例還可以包括:發送單元131,用於在所述對所述第二類目標空文件的名稱進行解密處理,得到所述第三渠道信息之後,向伺服器發送攜帶有第一渠道信息的目標請求,其中,目標請求用於請求獲取目標應用在目標應用市場的下載量,第一渠道信息由第一類目標空文件的名稱表示;接收單元133,用於接收伺服器響應目標請求所發送的目標響應,其中,目標響應中攜帶有指示下載量的信息。
此處需要說明的是,上述模塊與對應的步驟所實現的示例和應用場景相同,但不限於上述實施例1所公開的內容。需要說明的是,上述模塊作為裝置的一部分可以運行在如圖1所示的硬體環境中,可以通過軟體實現,也可以通過硬體實現。
通過上述模塊,完成對原安裝包的打包,得到經過打包處理後的渠道包,可以解決相關技術中的渠道包的處理方案需要重新編譯安裝包,導致渠道包的處理效率較低的技術問題,進而達到提高渠道包的處理效率的技術效果。
實施例3
根據本發明實施例,還提供了一種用於實施上述應用的渠道信息的處理方法的終端。
圖14是根據本發明實施例的一種終端的結構框圖,如圖14所示,該終端可以包括:一個或多個(圖中僅示出一個)處理器201、存儲器203、以及傳輸裝置205,如圖14所示,該終端還可以包括輸入輸出設備207。
其中,存儲器203可用於存儲軟體程序以及模塊,如本發明實施例中的應用的渠道信息的處理方法和裝置對應的程序指令/模塊,處理器201通過運行存儲在存儲器203內的軟體程序以及模塊,從而執行各種功能應用以及數據處理,即實現上述的應用的渠道信息的處理方法。存儲器203可包括高速隨機存儲器,還可以包括非易失性存儲器,如一個或者多個磁性存儲裝置、快閃記憶體、或者其他非易失性固態存儲器。在一些實例中,存儲器203可進一步包括相對於處理器201遠程設置的存儲器,這些遠程存儲器可以通過網絡連接至終端。上述網絡的實例包括但不限於網際網路、企業內部網、區域網、移動通信網及其組合。
上述的傳輸裝置205用於經由一個網絡接收或者發送數據。上述的網絡具體實例可包括有線網絡及無線網絡。在一個實例中,傳輸裝置205包括一個網絡適配器(networkinterfacecontroller,nic),其可通過網線與其他網絡設備與路由器相連從而可與網際網路或區域網進行通訊。在一個實例中,傳輸裝置205為射頻(radiofrequency,rf)模塊,其用於通過無線方式與網際網路進行通訊。
其中,具體地,存儲器203用於存儲應用。
處理器201可以調用存儲器203存儲的應用,以執行下述步驟:獲取第一渠道信息,其中,第一渠道信息用於指示目標應用被發布到目標應用市場的信息;對第一渠道信息進行加密處理,得到第二渠道信息;在目標應用的安裝包中的目標目錄下添加第一類目標空文件和第二類目標空文件,其中,第一類目標空文件的名稱根據第一渠道信息得到,第二類目標空文件的名稱根據第二渠道信息得到,第一類目標空文件和第二類目標空文件為不參與對安裝包進行完整性校驗的空文件。
處理器201還用於執行下述步驟:在目標應用的安裝包中的目標目錄下至少添加第一目標空文件和第二目標空文件,其中,第一類目標空文件包括第一目標空文件,第二類目標空文件包括第二目標空文件;將第一目標空文件的名稱設置為目標應用市場的名稱和目標應用市場的標識號中的至少一個,將第二目標空文件的名稱設置為第二渠道信息。
處理器201還用於執行下述步驟:將第一目標空文件的名稱設置為目標應用市場的名稱或目標應用市場的標識號;或者將第一目標空文件的名稱設置為包括目標應用市場的名稱和目標應用市場的標識號;或者將第一目標空文件的名稱設置為目標應用市場的名稱,將第三目標空文件的名稱設置為目標應用市場的標識號,其中,第一類目標空文件還包括第三目標空文件。
處理器201還用於執行下述步驟:在目標應用被啟動之後,讀取目標目錄下的第二類目標空文件的名稱;對第二類目標空文件的名稱進行解密處理,得到第三渠道信息;將第三渠道信息與目標目錄下的第一類目標空文件的名稱進行匹配;在第三渠道信息與第一類目標空文件的名稱匹配的情況下,確定第一類目標空文件的名稱所表示的第一渠道信息正確。
處理器201還用於執行下述步驟:向伺服器發送攜帶有第一渠道信息的目標請求,其中,目標請求用於請求獲取目標應用在目標應用市場的下載量,第一渠道信息由第一類目標空文件的名稱表示;接收伺服器響應目標請求所發送的目標響應,其中,目標響應中攜帶有指示下載量的信息。
採用本發明實施例,通過獲取目標應用被發布到目標應用市場的第一渠道信息,並將該第一渠道信息進行加密處理,得出第二渠道信息,然後在目標應用的安裝包中的目標目錄內添加不參與對安裝包進行完整性校驗的空文件,並將該空文件分為根據第一渠道信息得出空文件的名稱的第一類目標空文件和第二渠道信息得出空文件的名稱的第二類目標空文件,從而完成對原安裝包的打包,得到經打包處理後的渠道包,可以解決相關技術中的渠道包的處理方案需要重新編譯安裝包,導致渠道包的處理效率較低的技術問題,進而達到提高渠道包的處理效率的技術效果。
可選地,本實施例中的具體示例可以參考上述實施例1和實施例2中所描述的示例,本實施例在此不再贅述。
本領域普通技術人員可以理解,圖14所示的結構僅為示意,終端可以是智慧型手機(如android手機、ios手機等)、平板電腦、掌上電腦以及移動網際網路設備(mobileinternetdevices,mid)、pad等終端設備。圖14其並不對上述電子裝置的結構造成限定。例如,終端還可包括比圖14中所示更多或者更少的組件(如網絡接口、顯示裝置等),或者具有與圖14所示不同的配置。
本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令終端設備相關的硬體來完成,該程序可以存儲於一計算機可讀存儲介質中,存儲介質可以包括:快閃記憶體盤、只讀存儲器(read-onlymemory,rom)、隨機存取器(randomaccessmemory,ram)、磁碟或光碟等。
實施例4
本發明的實施例還提供了一種存儲介質。可選地,在本實施例中,上述存儲介質可以用於執行應用的渠道信息的處理方法的程序代碼。
可選地,在本實施例中,上述存儲介質可以位於上述實施例所示的網絡中的多個網絡設備中的至少一個網絡設備上。
可選地,在本實施例中,存儲介質被設置為存儲用於執行以下步驟的程序代碼:
s1,獲取第一渠道信息,其中,第一渠道信息用於指示目標應用被發布到目標應用市場的信息;
s2,對第一渠道信息進行加密處理,得到第二渠道信息;
s3,在目標應用的安裝包中的目標目錄下添加第一類目標空文件和第二類目標空文件,其中,第一類目標空文件的名稱根據第一渠道信息得到,第二類目標空文件的名稱根據第二渠道信息得到,第一類目標空文件和第二類目標空文件為不參與對安裝包進行完整性校驗的空文件。
可選地,存儲介質還被設置為存儲用於執行以下步驟的程序代碼:在目標應用的安裝包中的目標目錄下至少添加第一目標空文件和第二目標空文件,其中,第一類目標空文件包括第一目標空文件,第二類目標空文件包括第二目標空文件;將第一目標空文件的名稱設置為目標應用市場的名稱和目標應用市場的標識號中的至少一個,將第二目標空文件的名稱設置為第二渠道信息。
可選地,存儲介質還被設置為存儲用於執行以下步驟的程序代碼:將第一目標空文件的名稱設置為目標應用市場的名稱或目標應用市場的標識號;或者將第一目標空文件的名稱設置為包括目標應用市場的名稱和目標應用市場的標識號;或者將第一目標空文件的名稱設置為目標應用市場的名稱,將第三目標空文件的名稱設置為目標應用市場的標識號,其中,第一類目標空文件還包括第三目標空文件。
可選地,存儲介質還被設置為存儲用於執行以下步驟的程序代碼:在目標應用被啟動之後,讀取目標目錄下的第二類目標空文件的名稱;對第二類目標空文件的名稱進行解密處理,得到第三渠道信息;將第三渠道信息與目標目錄下的第一類目標空文件的名稱進行匹配;在第三渠道信息與第一類目標空文件的名稱匹配的情況下,確定第一類目標空文件的名稱所表示的第一渠道信息正確。
可選地,存儲介質還被設置為存儲用於執行以下步驟的程序代碼:向伺服器發送攜帶有第一渠道信息的目標請求,其中,目標請求用於請求獲取目標應用在目標應用市場的下載量,第一渠道信息由第一類目標空文件的名稱表示;接收伺服器響應目標請求所發送的目標響應,其中,目標響應中攜帶有指示下載量的信息。
可選地,本實施例中的具體示例可以參考上述實施例1和實施例2中所描述的示例,本實施例在此不再贅述。
可選地,在本實施例中,上述存儲介質可以包括但不限於:u盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、移動硬碟、磁碟或者光碟等各種可以存儲程序代碼的介質。
上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。
上述實施例中的集成的單元如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以存儲在上述計算機可讀取的存儲介質中。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟體產品的形式體現出來,該計算機軟體產品存儲在存儲介質中,包括若干指令用以使得一臺或多臺計算機設備(可為個人計算機、伺服器或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。
在本發明的上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的客戶端,可通過其它的方式實現。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用軟體功能單元的形式實現。
以上所述僅是本發明的優選實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。