本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種應(yīng)用程序的安裝方法及服務(wù)端和客戶端。
背景技術(shù):
針對(duì)于一些網(wǎng)絡(luò)公司提供給的產(chǎn)品信息,用戶可以通過(guò)手機(jī)或個(gè)人計(jì)算機(jī)上的瀏覽器登錄相應(yīng)的網(wǎng)頁(yè)對(duì)產(chǎn)品信息進(jìn)行訪問(wèn),用戶還可以在手機(jī)或個(gè)人計(jì)算機(jī)上下載網(wǎng)絡(luò)公司開(kāi)發(fā)的應(yīng)用程序,通過(guò)下載的應(yīng)用程序?qū)Ξa(chǎn)品信息進(jìn)行訪問(wèn)。
目前,用戶通過(guò)應(yīng)用程序?qū)Ξa(chǎn)品信息進(jìn)行訪問(wèn)時(shí),用戶下載應(yīng)用程序后,應(yīng)用程序首次被打開(kāi)時(shí)顯示的并不是對(duì)應(yīng)的應(yīng)用程序下載頁(yè)面,而是應(yīng)用程序預(yù)設(shè)的主頁(yè)。
針對(duì)于目前用戶通過(guò)應(yīng)用程序?qū)Ξa(chǎn)品信息進(jìn)行訪問(wèn)的方式,由于應(yīng)用程序首次被打開(kāi)時(shí)顯示的是預(yù)設(shè)的主頁(yè),并不是下載該應(yīng)用程序時(shí)對(duì)應(yīng)的應(yīng)用程序下載頁(yè)面,而應(yīng)用程序下載頁(yè)面一般還包括其他的產(chǎn)品信息,這樣導(dǎo)致用戶對(duì)產(chǎn)品信息進(jìn)行訪問(wèn)的中斷,用戶需要在應(yīng)用程序中重新尋找之前在瀏覽器上訪問(wèn)的應(yīng)用程序下載頁(yè)面,造成用戶的體驗(yàn)較差。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了應(yīng)用程序的安裝方法及服務(wù)端和客戶端,能夠提升用戶的體驗(yàn)。
本發(fā)明實(shí)施例提供了一種應(yīng)用程序的安裝方法,應(yīng)用于服務(wù)端,包括:
通過(guò)瀏覽器當(dāng)前顯示的第一頁(yè)面展示至少一個(gè)應(yīng)用程序;
接收客戶端對(duì)所述至少一個(gè)應(yīng)用程序中的目標(biāo)應(yīng)用程序進(jìn)行下載的下載請(qǐng)求;
獲取所述第一頁(yè)面對(duì)應(yīng)的網(wǎng)頁(yè)地址;
根據(jù)所述下載請(qǐng)求,將所述網(wǎng)頁(yè)地址寫入所述目標(biāo)應(yīng)用程序?qū)?yīng)的應(yīng)用程序安裝包,形成目標(biāo)應(yīng)用程序安裝包;其中,所述網(wǎng)頁(yè)地址用于在所述目標(biāo)應(yīng)用程序安裝后首次被打開(kāi)時(shí)顯示所述第一頁(yè)面;
將所述目標(biāo)應(yīng)用程序安裝包發(fā)送給所述客戶端。
優(yōu)選地,
所述應(yīng)用程序安裝包包括:Windows操作系統(tǒng)下格式為EXE的應(yīng)用程序安裝包、Android操作系統(tǒng)下格式為APK的應(yīng)用程序安裝包、IOS操作系統(tǒng)下格式IPA的應(yīng)用程序安裝包、Windows phone操作系統(tǒng)下格式為XAP的應(yīng)用程序安裝包及Linux操作系統(tǒng)下格式為RPM的應(yīng)用程序安裝包中的任意一個(gè)或多個(gè)。
優(yōu)選地,
當(dāng)所述目標(biāo)應(yīng)用程序?qū)?yīng)的應(yīng)用程序安裝包為APK格式時(shí),
所述將所述網(wǎng)頁(yè)地址寫入所述目標(biāo)應(yīng)用程序?qū)?yīng)的應(yīng)用程序安裝包,形成目標(biāo)應(yīng)用程序安裝包,包括:
獲取與所述目標(biāo)應(yīng)用程序相對(duì)應(yīng)的APK格式應(yīng)用程序安裝包;
將所述網(wǎng)頁(yè)地址寫入所述APK格式應(yīng)用程序安裝包的注釋區(qū)域,形成所述目標(biāo)應(yīng)用程序安裝包,其中,所述注釋區(qū)域位于所述APK格式應(yīng)用程序安裝包內(nèi)中央目錄記錄Central Directory Record的末尾。
本發(fā)明實(shí)施例還提供了一種應(yīng)用程序的安裝方法,應(yīng)用于客戶端,包括:
根據(jù)服務(wù)端通過(guò)瀏覽器當(dāng)前顯示的第一頁(yè)面展示的至少一個(gè)應(yīng)用程序,發(fā)送對(duì)其中的目標(biāo)應(yīng)用程序進(jìn)行下載的下載請(qǐng)求;
接收所述服務(wù)端根據(jù)所述下載請(qǐng)求發(fā)送的目標(biāo)應(yīng)用程序安裝包,其中所述目標(biāo)應(yīng)用程序安裝包中被寫入了所述第一頁(yè)面的網(wǎng)頁(yè)地址;
通過(guò)所述目標(biāo)應(yīng)用程序安裝包,對(duì)所述目標(biāo)應(yīng)用程序進(jìn)行安裝;
從所述目標(biāo)應(yīng)用程序安裝包中獲取所述網(wǎng)頁(yè)地址;
對(duì)所述目標(biāo)應(yīng)用程序進(jìn)行運(yùn)行,并使所述目標(biāo)應(yīng)用程序根據(jù)所述網(wǎng)頁(yè)地址對(duì)所述第一頁(yè)面進(jìn)行展示。
優(yōu)選地,
當(dāng)所述目標(biāo)應(yīng)用程序安裝包為APK格式時(shí),所述從所述目標(biāo)應(yīng)用程序安裝包中獲取所述網(wǎng)頁(yè)地址,包括:
從所述目標(biāo)應(yīng)用程序安裝包的注釋區(qū)域中讀取所述網(wǎng)頁(yè)地址,其中,所述注釋區(qū)域位于APK格式的所述目標(biāo)應(yīng)用程序安裝包內(nèi)中央目錄記錄Central Directory Record的末尾。
優(yōu)選地,
當(dāng)所述目標(biāo)應(yīng)用程序安裝包為APK格式時(shí),所述從所述目標(biāo)應(yīng)用程序安裝包中獲取所述網(wǎng)頁(yè)地址,包括:
通過(guò)編程語(yǔ)言Java7下ZipFile模塊所包括的getComment()指令直接從所述目標(biāo)應(yīng)用程序安裝包的注釋區(qū)域中讀取所述網(wǎng)頁(yè)地址。
優(yōu)選地,
當(dāng)所述目標(biāo)應(yīng)用程序安裝包為APK格式時(shí),所述從所述目標(biāo)應(yīng)用程序安裝包中獲取所述網(wǎng)頁(yè)地址,包括:
通過(guò)自定義獲得的編程語(yǔ)言Java下通用的輸入輸出I/O指令,從所述目標(biāo)應(yīng)用程序安裝包的注釋區(qū)域中讀取所述網(wǎng)頁(yè)地址。
本發(fā)明實(shí)施例還提供了一種服務(wù)端,包括:展示單元、第一接收單元、處理單元及第一發(fā)送單元;
所述展示單元,用于通過(guò)瀏覽器當(dāng)前顯示的第一頁(yè)面展示至少一個(gè)應(yīng)用程序;
所述第一接收單元,用于接收客戶端對(duì)所述展示單元展示的至少一個(gè)應(yīng)用程序中的目標(biāo)應(yīng)用程序進(jìn)行下載的下載請(qǐng)求;
所述處理單元,用于獲取所述展示單元所顯示的第一頁(yè)面的網(wǎng)頁(yè)地址,并根據(jù)所述第一接收單元接收到的所述下載請(qǐng)求,將所述網(wǎng)頁(yè)地址寫入所述目標(biāo)應(yīng)用程序?qū)?yīng)的應(yīng)用程序安裝包,形成目標(biāo)應(yīng)用程序安裝包;其中,所述網(wǎng)頁(yè)地址用于在所述目標(biāo)應(yīng)用程序安裝后首次被打開(kāi)時(shí)顯示所述第一頁(yè)面;
所述第一發(fā)送單元,用于將所述處理單元形成的所述目標(biāo)應(yīng)用程序安裝包發(fā)送給所述客戶端。
優(yōu)選地,
當(dāng)所述目標(biāo)應(yīng)用程序?qū)?yīng)的應(yīng)用程序安裝包為APK格式時(shí),
所述處理單元包括:獲取子單元及寫入子單元;
所述獲取子單元,用于獲取與所述目標(biāo)應(yīng)用程序相對(duì)應(yīng)的APK格式應(yīng)用程序安裝包;
所述寫入子單元,用于將所述網(wǎng)頁(yè)地址寫入所述獲取子單元獲取到的所述APK格式應(yīng)用程序安裝包的注釋區(qū)域,形成所述目標(biāo)應(yīng)用程序安裝包,其中,所述注釋區(qū)域位于所述APK格式應(yīng)用程序安裝包內(nèi)中央目錄記錄Central Directory Record的末尾。
本發(fā)明實(shí)施例還提供了一種客戶端,包括:第二發(fā)送單元、第二接收單元、安裝單元及頁(yè)面同步單元;
所述第二發(fā)送單元,用于根據(jù)服務(wù)器通過(guò)瀏覽器當(dāng)前顯示的第一頁(yè)面展示的至少一個(gè)應(yīng)用程序,發(fā)送對(duì)其中的目標(biāo)應(yīng)用程序進(jìn)行下載的下載請(qǐng)求;
所述第二接收單元,用于接收所述服務(wù)端根據(jù)所述第二發(fā)送單元所發(fā)送的下載請(qǐng)求而返回的目標(biāo)應(yīng)用程序安裝包,其中所述目標(biāo)應(yīng)用程序安裝包中被寫入了所述第一頁(yè)面的網(wǎng)頁(yè)地址;
所述安裝單元,用于通過(guò)所述第二接收單元接收到的所述目標(biāo)應(yīng)用程序安裝包,對(duì)所述目標(biāo)應(yīng)用程序進(jìn)行安裝;
所述頁(yè)面同步單元,用于從所述第二接收單元接收到的所述目標(biāo)應(yīng)用程序中獲取所述網(wǎng)頁(yè)地址;以及對(duì)所述安裝單元安裝的目標(biāo)應(yīng)用程序進(jìn)行運(yùn)行,并使所述目標(biāo)應(yīng)用程序根據(jù)所述網(wǎng)頁(yè)地址對(duì)所述第一頁(yè)面進(jìn)行展示。
優(yōu)選地,
當(dāng)所述目標(biāo)應(yīng)用程序安裝包為APK格式時(shí),所述頁(yè)面同步單元包括:地址讀取子單元;
所述地址讀取子單元,用于通過(guò)編程語(yǔ)言Java7下ZipFile模塊所包括的getComment()指令直接從所述目標(biāo)應(yīng)用程序安裝包的注釋區(qū)域中讀取所述網(wǎng)頁(yè)地址。
優(yōu)選地,
當(dāng)所述目標(biāo)應(yīng)用程序安裝包為APK格式時(shí),所述頁(yè)面同步單元包括:地址讀取子單元;
所述地址讀取子單元,用于通過(guò)自定義獲得的編程語(yǔ)言Java下通用的輸入輸出I/O指令,從所述目標(biāo)應(yīng)用程序安裝包的注釋區(qū)域中讀取所述網(wǎng)頁(yè)地址。
本發(fā)明實(shí)施例提供了一種應(yīng)用程序的安裝方法及服務(wù)端和客戶端,通過(guò)第一頁(yè)面展示至少一個(gè)應(yīng)用程序后,接收客戶端針對(duì)其中目標(biāo)應(yīng)用程序進(jìn)行下載的下載請(qǐng)求,根據(jù)下載請(qǐng)求將第一頁(yè)面的網(wǎng)頁(yè)地址寫入目標(biāo)應(yīng)用程序?qū)?yīng)的應(yīng)用程序安裝包,形成目標(biāo)應(yīng)用程序安裝包并發(fā)送給客戶端。由于目標(biāo)應(yīng)用程序安裝包中包括有第一頁(yè)面的網(wǎng)頁(yè)地址,客戶端通過(guò)目標(biāo)應(yīng)用程序安裝包對(duì)目標(biāo)應(yīng)用程序進(jìn)行安裝后,可以根據(jù)網(wǎng)頁(yè)地址使目標(biāo)應(yīng)用程序首次啟動(dòng)時(shí)顯示第一頁(yè)面;這樣,用戶從第一頁(yè)面下載應(yīng)用程序?qū)Ξa(chǎn)品信息進(jìn)行訪問(wèn)時(shí),不會(huì)造成所訪問(wèn)產(chǎn)品信息的中斷,用戶可以通過(guò)所下載的應(yīng)用程序繼續(xù)之前的訪問(wèn),無(wú)需從應(yīng)用程序內(nèi)重新尋找第一頁(yè)面,從而可以提高用戶的體驗(yàn)。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一個(gè)實(shí)施例提供的一種應(yīng)用于服務(wù)端的應(yīng)用程序安裝方法的流程圖;
圖2是本發(fā)明一個(gè)實(shí)施例提供的一種應(yīng)用于客戶端的應(yīng)用程序安裝方法的流程圖;
圖3是本發(fā)明一個(gè)實(shí)施例提供的一種服務(wù)端的示意圖;
圖4是本發(fā)明一個(gè)實(shí)施例提供的一種處理單元的示意圖;
圖5是本發(fā)明一個(gè)實(shí)施例提供的一種客戶端的示意圖;
圖6是本發(fā)明一個(gè)實(shí)施例提供的一種應(yīng)用程序安裝系統(tǒng)示意圖;
圖7是本發(fā)明一個(gè)實(shí)施例提供的一種應(yīng)用程序的安裝方法流程圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例,基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
如圖1所示,本發(fā)明實(shí)施例提供了一種應(yīng)用程序的安裝方法,應(yīng)用于服務(wù)端,該方法可以包括以下步驟:
步驟101:通過(guò)瀏覽器當(dāng)前顯示的第一頁(yè)面展示至少一個(gè)應(yīng)用程序;
步驟102:接收客戶端對(duì)所述至少一個(gè)應(yīng)用程序中的目標(biāo)應(yīng)用程序進(jìn)行下載的下載請(qǐng)求;
步驟103:獲取所述第一頁(yè)面對(duì)應(yīng)的網(wǎng)頁(yè)地址;
步驟104:根據(jù)所述下載請(qǐng)求,將所述網(wǎng)頁(yè)地址寫入所述目標(biāo)應(yīng)用程序?qū)?yīng)的應(yīng)用程序安裝包,形成目標(biāo)應(yīng)用程序安裝包;其中,所述網(wǎng)頁(yè)地址用于在所述目標(biāo)應(yīng)用程序安裝后首次被打開(kāi)時(shí)顯示所述第一頁(yè)面;
步驟105:將所述目標(biāo)應(yīng)用程序安裝包發(fā)送給所述客戶端。
本發(fā)明實(shí)施例提供了一種應(yīng)用于服務(wù)端的應(yīng)用程序安裝方法,通過(guò)第一頁(yè)面展示至少一個(gè)應(yīng)用程序后,接收客戶端針對(duì)其中目標(biāo)應(yīng)用程序進(jìn)行下載的下載請(qǐng)求,根據(jù)下載請(qǐng)求將第一頁(yè)面的網(wǎng)頁(yè)地址寫入目標(biāo)應(yīng)用程序?qū)?yīng)的應(yīng)用程序安裝包,形成目標(biāo)應(yīng)用程序安裝包并發(fā)送給客戶端。由于目標(biāo)應(yīng)用程序安裝包中包括有第一頁(yè)面的網(wǎng)頁(yè)地址,客戶端通過(guò)目標(biāo)應(yīng)用程序安裝包對(duì)目標(biāo)應(yīng)用程序進(jìn)行安裝后,可以根據(jù)網(wǎng)頁(yè)地址使目標(biāo)應(yīng)用程序首次啟動(dòng)時(shí)顯示第一頁(yè)面;這樣,用戶從第一頁(yè)面下載應(yīng)用程序?qū)Ξa(chǎn)品信息進(jìn)行訪問(wèn)時(shí),不會(huì)造成所訪問(wèn)產(chǎn)品信息的中斷,用戶可以通過(guò)所下載的應(yīng)用程序繼續(xù)之前的訪問(wèn),無(wú)需從應(yīng)用程序內(nèi)重新尋找第一頁(yè)面,從而可以提高用戶的體驗(yàn)。
在本發(fā)明一個(gè)實(shí)施例中,通過(guò)第一頁(yè)面展示的應(yīng)用程序安裝包可以包括Windows操作系統(tǒng)下格式為EXE的應(yīng)用程序安裝包、Android操作系統(tǒng)下格式為APK的應(yīng)用程序安裝包、IOS操作系統(tǒng)下格式IPA的應(yīng)用程序安裝包、Windows phone操作系統(tǒng)下格式為XAP的應(yīng)用程序安裝包及Linux操作系統(tǒng)下格式為RPM的應(yīng)用程序安裝包中的任意一個(gè)或多個(gè)。
具體地,EXE格式的應(yīng)用程序安裝包對(duì)應(yīng)于windows操作系統(tǒng)的個(gè)人計(jì)算機(jī),APK格式的應(yīng)用程序安裝包對(duì)應(yīng)于Android操作系統(tǒng)的手機(jī)或平板電腦,IPA格式的應(yīng)用程序安裝包對(duì)應(yīng)于IOS系統(tǒng)的個(gè)人計(jì)算機(jī)、手機(jī)或平臺(tái)電腦,XAP格式的應(yīng)用程序安裝包對(duì)應(yīng)于Windows phone操作系統(tǒng)的手機(jī),RPM格式的應(yīng)用程序安裝包對(duì)應(yīng)于Linux操作系統(tǒng)的個(gè)人計(jì)算機(jī)。因此,該應(yīng)用程序的安裝方法適用于具有不同操作系統(tǒng)的個(gè)人計(jì)算機(jī)、手機(jī)以及平板電腦等設(shè)備,可以針對(duì)多種設(shè)備實(shí)現(xiàn)應(yīng)用程序安裝后首次啟動(dòng)時(shí)顯示應(yīng)用程序安裝包的下載頁(yè)面,以提高用戶的體驗(yàn),從而提高了該應(yīng)用程序安裝方法的適用性。
在本發(fā)明一個(gè)實(shí)施例中,當(dāng)客戶端為Android操作系統(tǒng)的設(shè)備時(shí),其所要獲取的應(yīng)用程序安裝包為APK格式;此時(shí),在將第一頁(yè)面的網(wǎng)頁(yè)地址寫入應(yīng)用程序安裝包時(shí),首選獲取與目標(biāo)應(yīng)用程序相對(duì)應(yīng)的APK格式應(yīng)用程序安裝包,然后將第一頁(yè)面的網(wǎng)頁(yè)地址寫入APK格式應(yīng)用程序安裝包的注釋區(qū)域,形成目標(biāo)應(yīng)用程序安裝包;其中,APK格式應(yīng)用程序安裝包的注釋區(qū)域位于該APK格式應(yīng)用程序安裝包中央目錄記錄Central Directory Record的末尾。
具體地,
APK格式安裝包具有與ZIP壓縮包相似的文檔結(jié)構(gòu),在APK格式安裝包的文件末尾具有一個(gè)中央目錄記錄Central Directory Record區(qū)域,該區(qū)域的末尾包括有一個(gè)注釋區(qū)域File comment,該文件用于存儲(chǔ)APK格式安裝包的注釋信息。在注釋區(qū)域File comment內(nèi)寫入第一頁(yè)面的網(wǎng)頁(yè)地址,不會(huì)對(duì)APK格式安裝包的結(jié)構(gòu)造成損壞,保證寫入網(wǎng)頁(yè)地址后仍能夠正確的安裝,從而可以保證該應(yīng)用程序安裝方法的可實(shí)施性;另外,在將網(wǎng)頁(yè)地址寫入注釋區(qū)域File comment時(shí),不對(duì)APK格式安裝包重新進(jìn)行打包,從而可以快速地將網(wǎng)頁(yè)地址寫入APK格式安裝包,保證該應(yīng)用程序安裝方法能夠快速地對(duì)應(yīng)用程序進(jìn)行安裝。
如圖2所示,本發(fā)明一個(gè)實(shí)施例提供了一種應(yīng)用程序的安裝方法,應(yīng)用于客戶端,該方法可以包括以下步驟:
步驟201:根據(jù)服務(wù)端通過(guò)瀏覽器當(dāng)前顯示的第一頁(yè)面展示的至少一個(gè)應(yīng)用程序,發(fā)送對(duì)其中的目標(biāo)應(yīng)用程序進(jìn)行下載的下載請(qǐng)求;
步驟202:接收所述服務(wù)端根據(jù)所述下載請(qǐng)求發(fā)送的目標(biāo)應(yīng)用程序安裝包,其中所述目標(biāo)應(yīng)用程序安裝包中被寫入了所述第一頁(yè)面的網(wǎng)頁(yè)地址;
步驟203:通過(guò)所述目標(biāo)應(yīng)用程序安裝包,對(duì)所述目標(biāo)應(yīng)用程序進(jìn)行安裝;
步驟204:從所述目標(biāo)應(yīng)用程序安裝包中獲取所述網(wǎng)頁(yè)地址;
步驟205:對(duì)所述目標(biāo)應(yīng)用程序進(jìn)行運(yùn)行,并使所述目標(biāo)應(yīng)用程序根據(jù)所述網(wǎng)頁(yè)地址對(duì)所述第一頁(yè)面進(jìn)行展示。
本發(fā)明實(shí)施例提供了一種應(yīng)用于客戶端的應(yīng)用程序安裝方法,根據(jù)服務(wù)端在第一頁(yè)面上展示的至少一個(gè)應(yīng)用程序,從中選擇目標(biāo)應(yīng)用程序,并發(fā)送對(duì)目標(biāo)應(yīng)用程序進(jìn)行下載的下載請(qǐng)求;接收服務(wù)端根據(jù)下載請(qǐng)求發(fā)送來(lái)的目標(biāo)應(yīng)用程序安裝包;通過(guò)目標(biāo)應(yīng)用程序安裝包安裝目標(biāo)應(yīng)用程序,并根據(jù)目標(biāo)應(yīng)用程序安裝包中包括的網(wǎng)頁(yè)地址,使目標(biāo)應(yīng)用程序運(yùn)行后展示第一頁(yè)面。由于接收到的目標(biāo)應(yīng)用程序安裝包中包括有第一頁(yè)面的網(wǎng)頁(yè)地址,當(dāng)通過(guò)目標(biāo)應(yīng)用程序安裝包對(duì)目標(biāo)應(yīng)用程序安裝完成后,通過(guò)目標(biāo)應(yīng)用程序安裝包中包括的網(wǎng)頁(yè)地址使目標(biāo)應(yīng)用程序?qū)Φ谝豁?yè)面進(jìn)行展示;這樣,當(dāng)用戶從瀏覽器訪問(wèn)產(chǎn)品信息轉(zhuǎn)至從應(yīng)用程序訪問(wèn)產(chǎn)品信息時(shí),保證應(yīng)用程序首次展示的頁(yè)面與瀏覽器展示的應(yīng)用程序下載頁(yè)面相同,不會(huì)造成所訪問(wèn)產(chǎn)品信息的中斷,用戶可以通過(guò)所下載的應(yīng)用程序繼續(xù)之前的訪問(wèn),無(wú)需從應(yīng)用程序內(nèi)重新尋找相應(yīng)的頁(yè)面,從而可以提高用戶的體驗(yàn)。
在本發(fā)明一個(gè)實(shí)施例中,當(dāng)客戶端為Android操作系統(tǒng)的設(shè)備時(shí),相應(yīng)地,所接收到的目標(biāo)應(yīng)用程序安裝包為APK格式;在從APK格式的目標(biāo)應(yīng)用程序安裝包中獲取網(wǎng)頁(yè)地址時(shí),可以從目標(biāo)應(yīng)用程序安裝包的注釋區(qū)域中讀取網(wǎng)頁(yè)地址,其中,目標(biāo)應(yīng)用程序安裝包的注釋區(qū)域位于目標(biāo)應(yīng)用程序安裝包內(nèi)中央目錄記錄Central Directory Record的末尾。
具體地,
由于APK安裝包內(nèi)中央目錄記錄Central Directory Record末尾的注釋區(qū)域用于存儲(chǔ)APK安裝包的注釋信息,將網(wǎng)頁(yè)地址存儲(chǔ)在注釋區(qū)域內(nèi),不會(huì)對(duì)APK安裝包造成破壞,保證APK安裝包能夠正常的安裝。因而在目標(biāo)應(yīng)用程序安裝包為APK格式時(shí),可以從目標(biāo)應(yīng)用程序安裝包的注釋區(qū)域中讀取網(wǎng)頁(yè)地址,以實(shí)現(xiàn)目標(biāo)應(yīng)用程序安裝成功后對(duì)網(wǎng)頁(yè)地址對(duì)應(yīng)的第一頁(yè)面進(jìn)行展示,達(dá)到用戶連續(xù)訪問(wèn)同一頁(yè)面的目的。
在本發(fā)明一個(gè)實(shí)施例中,當(dāng)目標(biāo)應(yīng)用程序安裝包為APK格式時(shí),在從目標(biāo)應(yīng)用程序安裝包中獲取網(wǎng)頁(yè)地址時(shí),具有如下兩種不同的獲取方式:
方式一:通過(guò)編程語(yǔ)言Java7下ZipFile模塊所包括的getComment()指令讀取網(wǎng)頁(yè)地址;
方式二:通過(guò)自定義的編程語(yǔ)言Java下通用的輸入輸出I/O指令讀取網(wǎng)頁(yè)地址。
針對(duì)于方式一,
由于APK格式的安裝包基于編程語(yǔ)言Java開(kāi)發(fā),而目前編程語(yǔ)言Java的常用版本為Java7,因而可以通過(guò)Java7下ZipFile模塊所包括的getComment()指令直接從目標(biāo)應(yīng)用程序安裝包中讀取網(wǎng)頁(yè)地址。由于Java7直接提供了getComment()指令備選,通過(guò)getComment()指令獲取網(wǎng)頁(yè)地址無(wú)需開(kāi)發(fā)新的讀取指令,降低實(shí)現(xiàn)該應(yīng)用程序安裝方法實(shí)現(xiàn)的難度。
針對(duì)于方式二,
由于方式一中的getComment()指令為Java7下特有的指令,其他版本的Java中可能不提供getComment()指令備選,因而可以自定義一個(gè)Java下通用的輸入輸出I/O指令,通過(guò)該輸入輸出I/O指令從目標(biāo)應(yīng)用程序安裝包中讀取網(wǎng)頁(yè)地址,相對(duì)于方式一的讀取方式,由于自定義的輸入輸出I/O指令適用于各種不同版本的Java,因而可以從各種不同Java版本所開(kāi)發(fā)的APK安裝包中讀取網(wǎng)頁(yè)地址,提高該應(yīng)用程序安裝方法的適用性。
如圖3所示,本發(fā)明一個(gè)實(shí)施例提供了一種服務(wù)端,包括:展示單元301、第一接收單元302、處理單元303及第一發(fā)送單元304;
所述展示單元301,用于通過(guò)瀏覽器當(dāng)前顯示的第一頁(yè)面展示至少一個(gè)應(yīng)用程序;
所述第一接收單元302,用于接收客戶端對(duì)所述展示單元301展示的至少一個(gè)應(yīng)用程序中的目標(biāo)應(yīng)用程序進(jìn)行下載的下載請(qǐng)求;
所述處理單元303,用于獲取所述展示單元301所顯示的第一頁(yè)面的網(wǎng)頁(yè)地址,并根據(jù)所述第一接收單元302接收到的所述下載請(qǐng)求,將所述網(wǎng)頁(yè)地址寫入所述目標(biāo)應(yīng)用程序?qū)?yīng)的應(yīng)用程序安裝包,形成目標(biāo)應(yīng)用程序安裝包;其中,所述網(wǎng)頁(yè)地址用于在所述目標(biāo)應(yīng)用程序安裝后首次被打開(kāi)時(shí)顯示所述第一頁(yè)面;
所述第一發(fā)送單元304,用于將所述處理單元303形成的所述目標(biāo)應(yīng)用程序安裝包發(fā)送給所述客戶端。
在本發(fā)明一個(gè)實(shí)施例中,當(dāng)目標(biāo)應(yīng)用程序?qū)?yīng)的應(yīng)用程序安裝包為APK格式時(shí),如圖4所示,處理單元303包括獲取子單元3031及寫入子單元3032;
獲取子單元3031,用于獲取與目標(biāo)應(yīng)用程序相對(duì)應(yīng)的APK格式應(yīng)用程序安裝包;
寫入子單元3032,用于將網(wǎng)頁(yè)地址寫入獲取子單元3031獲取到的APK格式應(yīng)用程序安裝包的注視區(qū)域;其中,注釋區(qū)域位于APK格式應(yīng)用程序安裝包內(nèi)中央目錄記錄Central Directory Record的末尾。
需要說(shuō)明的是,上述實(shí)施例提供的服務(wù)端內(nèi)各個(gè)單元之間的信息交互、執(zhí)行過(guò)程等內(nèi)容,與本發(fā)明實(shí)施例提供的應(yīng)用于服務(wù)端的應(yīng)用程序安裝方法基于同一構(gòu)思,具體內(nèi)容可參見(jiàn)本發(fā)明實(shí)施例中對(duì)應(yīng)用于服務(wù)端的應(yīng)用程序安裝方法的敘述,在此不再贅述。
如圖5所述,本發(fā)明一個(gè)所述提供了一種客戶端,包括:第二發(fā)送單元501、第二接收單元502、安裝單元503及頁(yè)面同步單元504;
所述第二發(fā)送單元501,用于根據(jù)服務(wù)器通過(guò)瀏覽器當(dāng)前顯示的第一頁(yè)面展示的至少一個(gè)應(yīng)用程序,發(fā)送對(duì)其中的目標(biāo)應(yīng)用程序進(jìn)行下載的下載請(qǐng)求;
所述第二接收單元502,用于接收所述服務(wù)端根據(jù)所述第二發(fā)送單元501所發(fā)送的下載請(qǐng)求而返回的目標(biāo)應(yīng)用程序安裝包,其中所述目標(biāo)應(yīng)用程序安裝包中被寫入了所述第一頁(yè)面的網(wǎng)頁(yè)地址;
所述安裝單元503,用于通過(guò)所述第二接收單元502接收到的所述目標(biāo)應(yīng)用程序安裝包,對(duì)所述目標(biāo)應(yīng)用程序進(jìn)行安裝;
所述頁(yè)面同步單元504,用于從所述第二接收單元502接收到的所述目標(biāo)應(yīng)用程序中獲取所述網(wǎng)頁(yè)地址;以及對(duì)所述安裝單元503安裝的目標(biāo)應(yīng)用程序進(jìn)行運(yùn)行,并使所述目標(biāo)應(yīng)用程序根據(jù)所述網(wǎng)頁(yè)地址對(duì)所述第一頁(yè)面進(jìn)行展示。
在本發(fā)明一個(gè)實(shí)施例中,當(dāng)目標(biāo)應(yīng)用程序安裝包為APK格式時(shí),頁(yè)面同步單元504可以包括地址讀取子單元,地址讀取子單元可以通過(guò)以下兩種方式從目標(biāo)應(yīng)用程序安裝包中讀取網(wǎng)頁(yè)地址:
方式一:地址讀取子單元用于通過(guò)編程語(yǔ)言Java7下ZipFile模塊所包括的getComment()指令直接從目標(biāo)應(yīng)用程序安裝包的注釋區(qū)域中讀取網(wǎng)頁(yè)地址;
方式二:地址讀取子單元用于通過(guò)自定義獲得的編程語(yǔ)言Java下通用的輸入輸出I/O指令,從目標(biāo)應(yīng)用程序安裝包的注釋區(qū)域中讀取網(wǎng)頁(yè)地址。
需要說(shuō)明的是,上述實(shí)施例提供的客戶端內(nèi)各個(gè)單元之間的信息交互、執(zhí)行過(guò)程等內(nèi)容,與本發(fā)明實(shí)施例提供的應(yīng)用于客戶端的應(yīng)用程序安裝方法基于同一構(gòu)思,具體內(nèi)容可參見(jiàn)本發(fā)明實(shí)施例中對(duì)應(yīng)用于客戶端的應(yīng)用程序安裝方法的敘述,在此不再贅述。
如圖6所示,本發(fā)明一個(gè)實(shí)施例提供了一種應(yīng)用程序的安裝系統(tǒng),該系統(tǒng)可以包括:本發(fā)明實(shí)施例提供的任意一種服務(wù)端601及本發(fā)明實(shí)施例提供的任意一種客戶端602。
下面結(jié)合圖3所示的服務(wù)端、圖4所示的客戶端及圖6所示的應(yīng)用程序安裝系統(tǒng),對(duì)本發(fā)明實(shí)施例提供的應(yīng)用程序安裝方法作進(jìn)一步地詳細(xì)說(shuō)明,如圖7所示,該方法可以包括以下步驟:
步驟701:服務(wù)端接收客戶端發(fā)送的對(duì)第一頁(yè)面上展示的目標(biāo)應(yīng)用程序進(jìn)行下載的下載請(qǐng)求。
在本發(fā)明一個(gè)實(shí)施例中,用戶通過(guò)瀏覽器在第一頁(yè)面訪問(wèn)產(chǎn)品信息時(shí),服務(wù)端在第一頁(yè)面展示相應(yīng)的應(yīng)用程序,當(dāng)用戶需要對(duì)服務(wù)端所展示的目標(biāo)應(yīng)用程序進(jìn)行下載時(shí),客戶端根據(jù)用戶的觸發(fā)向服務(wù)端發(fā)送對(duì)目標(biāo)應(yīng)用程序進(jìn)行下載的下載請(qǐng)求。
例如,用戶通過(guò)個(gè)人計(jì)算機(jī)瀏覽某購(gòu)物網(wǎng)站T,在購(gòu)物網(wǎng)站T展示商品A的頁(yè)面B對(duì)商品A的產(chǎn)品信息進(jìn)行查看后決定購(gòu)買商品A,但是為了安全起見(jiàn)用戶決定通過(guò)購(gòu)物網(wǎng)站T的手機(jī)app進(jìn)行付款。頁(yè)面B上除了展示有商品A的產(chǎn)品信息,還展示有購(gòu)物網(wǎng)站T對(duì)應(yīng)于不同系統(tǒng)計(jì)算機(jī)、手機(jī)及平板電腦的客戶端應(yīng)用程序。用戶通過(guò)Android系統(tǒng)手機(jī)掃描頁(yè)面B上對(duì)應(yīng)于Android操作系統(tǒng)手機(jī)的下載二維碼,向購(gòu)物網(wǎng)站T的服務(wù)器發(fā)送下載購(gòu)物網(wǎng)站T的手機(jī)app的下載請(qǐng)求。其中,頁(yè)面B與第一頁(yè)面相對(duì)應(yīng),手機(jī)app與目標(biāo)應(yīng)用程序相對(duì)應(yīng),用戶的Android系統(tǒng)手機(jī)與客戶端相對(duì)應(yīng),購(gòu)物網(wǎng)站T的服務(wù)器與服務(wù)端相對(duì)應(yīng)。
步驟702:服務(wù)端獲取第一頁(yè)面的網(wǎng)頁(yè)地址。
在本發(fā)明一個(gè)實(shí)施例中,服務(wù)端在接收到客戶端發(fā)送的下載請(qǐng)求以后,獲取當(dāng)前展示的第一頁(yè)面的網(wǎng)頁(yè)地址。
例如,購(gòu)物網(wǎng)站T的服務(wù)器接收到Android系統(tǒng)手機(jī)發(fā)送的下載請(qǐng)求后,獲得頁(yè)面B的網(wǎng)頁(yè)地址。
步驟703:服務(wù)端將網(wǎng)頁(yè)地址寫入下載請(qǐng)求對(duì)應(yīng)的應(yīng)用程序安裝包,形成目標(biāo)應(yīng)用程序安裝包,并將目標(biāo)應(yīng)用程序安裝包發(fā)送給客戶端。
在本發(fā)明一個(gè)實(shí)施例中,服務(wù)端根據(jù)客戶端發(fā)送的下載請(qǐng)求,確定客戶端所要下載的目標(biāo)應(yīng)用程序?qū)?yīng)的應(yīng)用程序安裝包,并將步驟702中獲取到的網(wǎng)頁(yè)地址寫入確定出的應(yīng)用程序安裝包,形成對(duì)應(yīng)的目標(biāo)應(yīng)用程序安裝包,并將形成的目標(biāo)應(yīng)用程序安裝包發(fā)送給客戶端。
例如,購(gòu)物網(wǎng)站T的服務(wù)器根據(jù)Android系統(tǒng)手機(jī)發(fā)送的下載請(qǐng)求,確定出用戶所要下載的手機(jī)app,獲取該手機(jī)app對(duì)應(yīng)的APK安裝包。將頁(yè)面B的網(wǎng)頁(yè)地址寫入到該APK安裝包中,形成目標(biāo)APK安裝包,并將形成的目標(biāo)APK安裝包發(fā)送給用戶的Android系統(tǒng)手機(jī)。其中,由于用戶的手機(jī)為Android系統(tǒng),所以手機(jī)app的安裝包為APK格式,在將頁(yè)面B的網(wǎng)頁(yè)地址寫入APK安裝包時(shí),將頁(yè)面B的網(wǎng)頁(yè)地址寫入APK安裝包的注釋區(qū)域File comment。
步驟704:客戶端根據(jù)接收到的目標(biāo)應(yīng)用程序安裝包安裝目標(biāo)應(yīng)用程序。
在本發(fā)明一個(gè)實(shí)施例中,客戶端在接收到服務(wù)端發(fā)送的目標(biāo)應(yīng)用程序安裝包后,通過(guò)目標(biāo)應(yīng)用程序安裝包安裝目標(biāo)應(yīng)用程序。
例如,用戶的Android手機(jī)在接收到購(gòu)物網(wǎng)站T的手機(jī)app所對(duì)應(yīng)的APK安裝包后,通過(guò)該APK安裝包在用戶的Android手機(jī)安裝購(gòu)物網(wǎng)站T的手機(jī)app。
步驟705:客戶端從目標(biāo)應(yīng)用程序安裝包中讀取第一頁(yè)面的網(wǎng)頁(yè)地址。
在本發(fā)明一個(gè)實(shí)施例中,在客戶端對(duì)目標(biāo)應(yīng)用程序安裝完成后,客戶端從目標(biāo)應(yīng)用程序安裝包中讀取在步驟703中由服務(wù)端寫入的第一頁(yè)面的網(wǎng)頁(yè)地址。
例如,用戶的Android手機(jī)在安裝購(gòu)物網(wǎng)站T的手機(jī)app之后,從購(gòu)物網(wǎng)站T的手機(jī)app對(duì)應(yīng)的APK安裝包中讀取頁(yè)面B的網(wǎng)頁(yè)地址。具體地,用戶的Android手機(jī)通過(guò)ZipFile模塊所包括的getComment()指令或自定義形成的Java下通用的輸入輸出I/O指令,從APK安裝包的注釋區(qū)域File comment中讀取頁(yè)面B的網(wǎng)頁(yè)地址。
步驟706:客戶端運(yùn)行目標(biāo)應(yīng)用程序,并使目標(biāo)應(yīng)用程序啟動(dòng)后顯示第一頁(yè)面。
在本發(fā)明一個(gè)實(shí)施例中,客戶端在安裝目標(biāo)應(yīng)用程序完成,并獲取目標(biāo)應(yīng)用程序安裝包中包括的網(wǎng)頁(yè)地址后,客戶端對(duì)目標(biāo)應(yīng)用程序進(jìn)行運(yùn)行;在目標(biāo)應(yīng)用程序啟動(dòng)后,根據(jù)步驟705中讀取到的網(wǎng)頁(yè)地址,使目標(biāo)應(yīng)用程序展示與網(wǎng)頁(yè)地址相對(duì)應(yīng)的第一頁(yè)面。
例如,在用戶的Android手機(jī)上安裝購(gòu)物網(wǎng)站T的手機(jī)app,并獲取到頁(yè)面B的網(wǎng)頁(yè)地址后,啟動(dòng)購(gòu)物網(wǎng)站T的手機(jī)app,根據(jù)頁(yè)面B的網(wǎng)頁(yè)地址,使購(gòu)物網(wǎng)站T的手機(jī)app啟動(dòng)后直接顯示頁(yè)面B。這樣,用戶直接可以在購(gòu)物網(wǎng)站T的手機(jī)app上完成對(duì)商品A的購(gòu)買,無(wú)需在安裝手機(jī)app后重新在該手機(jī)app中尋找商品A的展示頁(yè)面。
本發(fā)明實(shí)施例提供的各個(gè)實(shí)施例,至少具有如下有益效果:
1、在本發(fā)明實(shí)施例中,通過(guò)第一頁(yè)面展示至少一個(gè)應(yīng)用程序后,接收客戶端針對(duì)其中目標(biāo)應(yīng)用程序進(jìn)行下載的下載請(qǐng)求,根據(jù)下載請(qǐng)求將第一頁(yè)面的網(wǎng)頁(yè)地址寫入目標(biāo)應(yīng)用程序?qū)?yīng)的應(yīng)用程序安裝包,形成目標(biāo)應(yīng)用程序安裝包并發(fā)送給客戶端。由于目標(biāo)應(yīng)用程序安裝包中包括有第一頁(yè)面的網(wǎng)頁(yè)地址,客戶端通過(guò)目標(biāo)應(yīng)用程序安裝包對(duì)目標(biāo)應(yīng)用程序進(jìn)行安裝后,可以根據(jù)網(wǎng)頁(yè)地址使目標(biāo)應(yīng)用程序首次啟動(dòng)時(shí)顯示第一頁(yè)面;這樣,用戶從第一頁(yè)面下載應(yīng)用程序?qū)Ξa(chǎn)品信息進(jìn)行訪問(wèn)時(shí),不會(huì)造成所訪問(wèn)產(chǎn)品信息的中斷,用戶可以通過(guò)所下載的應(yīng)用程序繼續(xù)之前的訪問(wèn),無(wú)需從應(yīng)用程序內(nèi)重新尋找第一頁(yè)面,從而可以提高用戶的體驗(yàn)。
2、在本發(fā)明實(shí)施例中,服務(wù)端通過(guò)第一頁(yè)面展示的應(yīng)用程序具有多種不同格式的安裝包,比如可以為EXE、APK、IPA、XAP及RPM等,不同格式的應(yīng)用程序安裝包適用于不同操作系統(tǒng)的計(jì)算機(jī)、手機(jī)和平板電腦。通過(guò)對(duì)各種格式的安裝包中寫入網(wǎng)頁(yè)地址,可以在各種設(shè)備上實(shí)現(xiàn)本發(fā)明實(shí)施例提供的應(yīng)用程序安裝方法,提高了該應(yīng)用程序安裝方法的適用性。
3、在本發(fā)明實(shí)施例中,當(dāng)客戶端為Android操作系統(tǒng),服務(wù)端在向應(yīng)用程序安裝包中寫入頁(yè)面地址時(shí),將頁(yè)面地址寫入APK安裝包的注釋區(qū)域。由于APK安裝包具有與ZIP壓縮包相似的文檔結(jié)構(gòu),注釋區(qū)域用于存儲(chǔ)注釋信息,在注釋區(qū)域?qū)懭刖W(wǎng)頁(yè)地址,不會(huì)對(duì)APK格式安裝包的結(jié)構(gòu)造成損壞,保證寫入網(wǎng)頁(yè)地址后仍能夠正確的安裝,從而可以保證該應(yīng)用程序安裝方法的可實(shí)施性。
4、在本發(fā)明實(shí)施例中,當(dāng)客戶端為Android操作系統(tǒng),在將網(wǎng)頁(yè)地址寫入APK安裝包的注釋區(qū)域時(shí),不對(duì)APK格式安裝包重新進(jìn)行打包,從而可以快速地將網(wǎng)頁(yè)地址寫入APK格式安裝包,保證該應(yīng)用程序安裝方法能夠快速地對(duì)應(yīng)用程序進(jìn)行安裝。
5、在本發(fā)明實(shí)施例中,當(dāng)客戶端為Android操作系統(tǒng),在從目標(biāo)應(yīng)用程序安裝包中讀取網(wǎng)頁(yè)地址時(shí),可以通過(guò)自定義的輸入輸出I/O指令來(lái)從APK安裝包的注釋區(qū)域來(lái)讀取網(wǎng)頁(yè)地址,因?yàn)樽远x的輸入輸出I/O指令適用于在各種版本Java下開(kāi)發(fā)的APK安裝包,能夠?qū)^大部分APK安裝包的注釋區(qū)域進(jìn)行讀取,從而能夠提高該應(yīng)用程序安裝方法的適用性。
需要說(shuō)明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)〃·····”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同因素。
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)在計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)中。
最后需要說(shuō)明的是:以上所述僅為本發(fā)明的較佳實(shí)施例,僅用于說(shuō)明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。