本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及一種應(yīng)用調(diào)用方法和一種應(yīng)用調(diào)用裝置。
背景技術(shù):
隨著終端和軟件技術(shù)的發(fā)展,用戶可以在終端上安裝各種應(yīng)用,便于用戶執(zhí)行各種上網(wǎng)操作,例如安裝游戲應(yīng)用、播放器應(yīng)用、瀏覽器應(yīng)用、新聞應(yīng)用、購(gòu)物應(yīng)用等。
不同應(yīng)用存在于一個(gè)終端時(shí),有時(shí)需要調(diào)用其他應(yīng)用,如購(gòu)物應(yīng)用調(diào)用支付應(yīng)用進(jìn)行支付,瀏覽器應(yīng)用調(diào)用播放器應(yīng)用播放音視頻等。這些調(diào)用往往是依據(jù)固定在應(yīng)用中的邏輯執(zhí)行,通過應(yīng)用服務(wù)service調(diào)用喚起指定應(yīng)用客戶端。
但是,通過service調(diào)用依賴于被調(diào)用客戶端的服務(wù)在后臺(tái)運(yùn)行,一旦在系統(tǒng)中殺掉service則應(yīng)用客戶端就無法調(diào)用成功。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的應(yīng)用調(diào)用方法和相應(yīng)的應(yīng)用調(diào)用裝置。
依據(jù)本發(fā)明的一個(gè)方面,提供了一種應(yīng)用調(diào)用方法,所述的方法包括:依據(jù)調(diào)用接口調(diào)用源應(yīng)用中集成的調(diào)用器;所述調(diào)用器上傳調(diào)用參數(shù)給服務(wù)端;接收返回的命令序列,其中,所述命令序列是依據(jù)所述調(diào)用參數(shù)確定的原始命令序列轉(zhuǎn)換得到的,所述命令序列包括順序排列的調(diào)用命令;所述調(diào)用器按照命令序列中的順序依次判斷調(diào)用命令是否生效;確定生效的調(diào)用命令對(duì)應(yīng)的本地應(yīng)用,啟動(dòng)所述本地應(yīng)用。
依據(jù)本發(fā)明的另一個(gè)方面,提供了一種應(yīng)用調(diào)用方法,所述的方法包括:接收調(diào)用參數(shù),依據(jù)所述調(diào)用參數(shù)確定原始命令序列;對(duì)所述原始命令序列進(jìn)行轉(zhuǎn)換,確定轉(zhuǎn)換的命令序列;發(fā)送所述命令序列,以基于所述命令序列啟動(dòng)應(yīng)用,其中,所述命令序列包括順序排列的調(diào)用命令,所述調(diào)用命令用于調(diào)用終端的本地應(yīng)用。
依據(jù)本發(fā)明的另一個(gè)方面,提供了一種應(yīng)用調(diào)用裝置,包括:調(diào)用模塊,用于依據(jù)調(diào)用接口調(diào)用源應(yīng)用中集成的調(diào)用器;參數(shù)上傳模塊,用于通過調(diào)用器上傳調(diào)用參數(shù)給服務(wù)端;序列接收模塊,用于接收返回的命令序列,其中,所述命令序列是依據(jù)所述調(diào)用參數(shù)確定的原始命令序列轉(zhuǎn)換得到的,所述命令序列包括順序排列的調(diào)用命令;命令判斷模塊,用于通過所述調(diào)用器按照命令序列中的順序依次判斷調(diào)用命令是否生效;應(yīng)用啟動(dòng)模塊,用于確定生效的調(diào)用命令對(duì)應(yīng)的本地應(yīng)用,啟動(dòng)所述本地應(yīng)用。
依據(jù)本發(fā)明的另一個(gè)方面,提供了一種應(yīng)用調(diào)用裝置,包括:參數(shù)接收模塊,用于接收調(diào)用參數(shù);原始序列確定模塊,用于依據(jù)所述調(diào)用參數(shù)確定原始命令序列;序列轉(zhuǎn)換模塊,用于對(duì)所述原始命令序列進(jìn)行轉(zhuǎn)換,確定轉(zhuǎn)換的命令序列;序列發(fā)送模塊,用于發(fā)送所述命令序列,以基于所述命令序列啟動(dòng)應(yīng)用,其中,所述命令序列包括順序排列的調(diào)用命令,所述調(diào)用命令用于調(diào)用終端的本地應(yīng)用。
依據(jù)本發(fā)明的另一個(gè)方面,提供了一種應(yīng)用調(diào)用系統(tǒng),包括:服務(wù)器和終端設(shè)備;所述服務(wù)器包括如本發(fā)明實(shí)施例所述的應(yīng)用調(diào)用裝置;所述終端設(shè)備包括如本發(fā)明實(shí)施例所述的應(yīng)用調(diào)用裝置。
本發(fā)明實(shí)施例在應(yīng)用中集成調(diào)用器,通過調(diào)用器從服務(wù)端獲取所需調(diào)用應(yīng)用的命令序列,通過命令序列提供更多的可選應(yīng)用,以提供調(diào)用的成功率,然后調(diào)用命令序列中生效的調(diào)用命令對(duì)應(yīng)的本地應(yīng)用,啟動(dòng)所述本地應(yīng)用,從而通過調(diào)用器進(jìn)行應(yīng)用的原生調(diào)用,確保調(diào)用成功。。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
附圖說明
通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種應(yīng)用調(diào)用方法終端側(cè)實(shí)施例的步驟流程圖;
圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種應(yīng)用調(diào)用方法服務(wù)端側(cè)實(shí)施例的步驟流程圖;
圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的應(yīng)用調(diào)用示意圖;
圖4示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的一種應(yīng)用調(diào)用方法服務(wù)端側(cè)實(shí)施例的步驟流程圖;
圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種應(yīng)用調(diào)用方法終端側(cè)實(shí)施例的步驟流程圖;
圖6示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種應(yīng)用調(diào)用裝置實(shí)施例的結(jié)構(gòu)框圖;
圖7示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種應(yīng)用調(diào)用裝置優(yōu)選實(shí)施例的結(jié)構(gòu)框圖;
圖8示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的一種應(yīng)用調(diào)用裝置實(shí)施例的結(jié)構(gòu)框圖;
圖9示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的一種應(yīng)用調(diào)用裝置優(yōu)選實(shí)施例的結(jié)構(gòu)框圖;
圖10示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種應(yīng)用調(diào)用系統(tǒng)實(shí)施例的結(jié)構(gòu)框圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
本實(shí)施例在應(yīng)用中集成調(diào)用器,通過調(diào)用器從服務(wù)端獲取所需調(diào)用應(yīng)用的命令序列,然后調(diào)用命令序列中生效的調(diào)用命令對(duì)應(yīng)的本地應(yīng)用,啟動(dòng)所述本地應(yīng)用,從而通過調(diào)用器進(jìn)行應(yīng)用的原生調(diào)用,確保調(diào)用成功。
參照?qǐng)D1,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種應(yīng)用調(diào)用方法終端側(cè)實(shí)施例的步驟流程圖,具體可以包括如下步驟:
步驟102,依據(jù)調(diào)用接口調(diào)用源應(yīng)用中集成的調(diào)用器。
源應(yīng)用在運(yùn)行過程中,當(dāng)接收到預(yù)設(shè)操作時(shí)可以通過調(diào)用接口調(diào)用源應(yīng)用中集成的調(diào)用器。其中,源應(yīng)用是正在運(yùn)行的集成有調(diào)用器的應(yīng)用,預(yù)設(shè)操作指的是觸發(fā)調(diào)用器被調(diào)用的操作,可以依據(jù)需求設(shè)定,如點(diǎn)擊操作、滑動(dòng)操作等。例如用戶點(diǎn)擊源應(yīng)用中預(yù)設(shè)按鈕或圖片等,可以觸發(fā)通過調(diào)用接口調(diào)用該調(diào)用器。調(diào)用器用于控制終端本地應(yīng)用的調(diào)用。
在APP(如源應(yīng)用)中集成調(diào)用器后,即可基于集成了調(diào)用器的APP,通過系統(tǒng)中的服務(wù)service、Html5信息、頁面中觸發(fā)位等,在產(chǎn)生用戶行為的場(chǎng)景下,請(qǐng)求調(diào)用器進(jìn)行端對(duì)端的喚起APP完成指定命令,其中無論被調(diào)用APP服務(wù)是否在內(nèi)存中均可喚起,即通過原生調(diào)用本地應(yīng)用,確保調(diào)用成功。
步驟104,所述調(diào)用器上傳調(diào)用參數(shù)給服務(wù)端。
調(diào)用器可以通過調(diào)用接口獲取調(diào)用參數(shù),然后將調(diào)用參數(shù)發(fā)送給服務(wù)端,服務(wù)端基于該調(diào)用參數(shù)確定對(duì)應(yīng)的命令序列,例如通過調(diào)用請(qǐng)求攜帶調(diào)用參數(shù)發(fā)送給服務(wù)端。
步驟106,接收返回的命令序列。
其中,所述命令序列是依據(jù)所述調(diào)用參數(shù)確定的原始命令序列轉(zhuǎn)換得到的,所述命令序列包括順序排列的調(diào)用命令。調(diào)用命令用于調(diào)用本地應(yīng)用并啟動(dòng),命令序列可由順序排列的調(diào)用命令構(gòu)成,每個(gè)調(diào)用命令對(duì)應(yīng)配置調(diào)用條件等參數(shù),通過參數(shù)確定生效的調(diào)用命令進(jìn)行應(yīng)用的調(diào)用。
步驟108,所述調(diào)用器按照命令序列中的順序依次判斷調(diào)用命令是否生效。
在接收到命令序列后,調(diào)用器對(duì)該命令序列進(jìn)行解析,按照順序依次獲取命令序列中調(diào)用命令,判斷該調(diào)用命令是否生效;若是即調(diào)用命令生效,執(zhí)行步驟110;若否,即調(diào)用命令不生效,返回步驟108繼續(xù)判斷,直到所有調(diào)用命令均不生效,則結(jié)束該流程或者下載指定應(yīng)用等。
步驟110,確定生效的調(diào)用命令對(duì)應(yīng)的本地應(yīng)用,啟動(dòng)所述本地應(yīng)用。
對(duì)于生效的調(diào)用命令,可以確定該生效的調(diào)用命令對(duì)應(yīng)的本地應(yīng)用,然后采用生效的調(diào)用命令啟動(dòng)所述本地應(yīng)用,從而實(shí)現(xiàn)對(duì)于本地應(yīng)用的調(diào)用和啟動(dòng)。
綜上,在應(yīng)用中集成調(diào)用器,通過調(diào)用器從服務(wù)端獲取所需調(diào)用應(yīng)用的命令序列,通過命令序列提供更多的可選應(yīng)用,以提供調(diào)用的成功率,然后調(diào)用命令序列中生效的調(diào)用命令對(duì)應(yīng)的本地應(yīng)用,啟動(dòng)所述本地應(yīng)用,從而通過調(diào)用器進(jìn)行應(yīng)用的原生調(diào)用,確保調(diào)用成功。
參照?qǐng)D2,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種應(yīng)用調(diào)用方法服務(wù)端側(cè)實(shí)施例的步驟流程圖,具體可以包括如下步驟:
步驟202,接收調(diào)用參數(shù),依據(jù)所述調(diào)用參數(shù)確定原始命令序列。
步驟204,對(duì)所述原始命令序列進(jìn)行轉(zhuǎn)換,確定轉(zhuǎn)換的命令序列。
步驟206,發(fā)送所述命令序列,以基于所述命令序列啟動(dòng)應(yīng)用,其中,所述命令序列包括順序排列的調(diào)用命令,所述調(diào)用命令用于調(diào)用終端的本地應(yīng)用。
終端中源應(yīng)用可以通過調(diào)用接口調(diào)用集成的調(diào)用器,從而調(diào)用器通過調(diào)用參數(shù)向服務(wù)端請(qǐng)求命令序列。該服務(wù)端為調(diào)用器對(duì)應(yīng)的服務(wù)端可以由一個(gè)或多個(gè)服務(wù)器構(gòu)成。服務(wù)端在接收到調(diào)用參數(shù)后,可以依據(jù)該調(diào)用參數(shù)確定原始命令序列,即可以從調(diào)用參數(shù)中獲取調(diào)用標(biāo)識(shí),該調(diào)用標(biāo)識(shí)用于標(biāo)識(shí)一個(gè)調(diào)用方,該調(diào)用當(dāng)可以為應(yīng)用,也可以為用戶、軟件提供方等。依據(jù)該調(diào)用標(biāo)識(shí)確定一個(gè)調(diào)用方對(duì)應(yīng)的原始命令序列,該原始命令序列是依據(jù)調(diào)用方對(duì)應(yīng)原始調(diào)用命令和順序排序生成的,但是由于不同傳送該調(diào)用采參數(shù)對(duì)應(yīng)應(yīng)用客戶端以及終端不同,因此還需要按照約定的格式、參數(shù)等對(duì)原始命令序列進(jìn)行轉(zhuǎn)換,確定轉(zhuǎn)換的命令序列,該命令序列中調(diào)用命令可以與原始命令序列中順序相同。然后服務(wù)端將該命令序列反饋給調(diào)用器,以使調(diào)用器基于所述命令序列確定生效的調(diào)用命令,然后啟動(dòng)生效的調(diào)用命令對(duì)應(yīng)的終端本地應(yīng)用。
綜上,可以基于調(diào)用參數(shù)確定原始命令序列,然后對(duì)所述原始命令序列進(jìn)行轉(zhuǎn)換,確定適合請(qǐng)求終端和應(yīng)用的命令序列,再將命令序列發(fā)送給調(diào)用器,以基于所述命令序列啟動(dòng)應(yīng)用,從而通過命令序列提供多種可選命令給調(diào)用器,以提高調(diào)用的成功率。
在上述實(shí)施例的基礎(chǔ)上,本實(shí)施例詳細(xì)論述基于調(diào)用器的應(yīng)用調(diào)用方法,其中,對(duì)于調(diào)用器以及命令序列的配置在服務(wù)端執(zhí)行,對(duì)于調(diào)用器以及命令序列的使用在終端執(zhí)行。
參照?qǐng)D3,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的應(yīng)用調(diào)用示意圖。
3.02、服務(wù)端配置調(diào)用命令。可配置原始調(diào)用命令的調(diào)用條件和調(diào)用內(nèi)容,以及配置原始調(diào)用序列和調(diào)用器對(duì)應(yīng)格式等信息。
3.04、終端調(diào)用集成的調(diào)用器并傳入調(diào)用參數(shù)。調(diào)用參數(shù)可包括命令I(lǐng)D、預(yù)設(shè)地址和占位符參數(shù)
3.06、調(diào)用器將調(diào)用參數(shù)發(fā)送給服務(wù)端。
3.08、服務(wù)端依據(jù)調(diào)用參數(shù)確定原始命令序列。
3.10、服務(wù)端通過轉(zhuǎn)換原始命令序列、占位符參數(shù)的替換,得到轉(zhuǎn)換的命令序列。
3.12、服務(wù)端發(fā)送命令序列給調(diào)用器。
3.14、調(diào)用器依據(jù)該命令序列啟動(dòng)生效的命令或打開預(yù)設(shè)地址對(duì)應(yīng)頁面。
參照?qǐng)D4,示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的一種應(yīng)用調(diào)用方法服務(wù)端側(cè)實(shí)施例的步驟流程圖,具體可以包括如下步驟:
步驟402,配置原始調(diào)用命令的應(yīng)用條件和命令內(nèi)容。
步驟404,將原始調(diào)用命令按照順序排序,生成原始命令序列。
本實(shí)施例中采用集成在應(yīng)用中的調(diào)用器調(diào)用終端本地應(yīng)用,通過原始調(diào)用提高調(diào)用的成功率,因此要預(yù)先在服務(wù)端配置原始調(diào)用命令的應(yīng)用條件和命令內(nèi)容等,從而實(shí)現(xiàn)對(duì)應(yīng)應(yīng)用的原生調(diào)用。在生成各原始調(diào)用命令后,可以依據(jù)需求生成排序順序,如依據(jù)調(diào)用方配置等,將原始調(diào)用命令按照順序排序,生成原始命令序列。
其中,所述應(yīng)用條件包括以下至少一個(gè):應(yīng)用在終端已安裝,終端安裝應(yīng)用的版本在版本范圍內(nèi)。即調(diào)用器用于調(diào)用終端的應(yīng)用,若安裝該應(yīng)用則無法調(diào)用,因此其中一個(gè)應(yīng)用條件為應(yīng)用已安裝在終端中;不同版本的應(yīng)用功能不同,有些版本可能不支持調(diào)用,如不具有調(diào)用的頁面等,因此可以確定應(yīng)用可調(diào)用的版本范圍,則相應(yīng)的應(yīng)用條件可以為安裝應(yīng)用的版本在該版本范圍內(nèi)。從而能夠調(diào)用本地已安裝、在版本范圍內(nèi)的應(yīng)用。當(dāng)然還可以依據(jù)實(shí)際需求確定其他應(yīng)用條件,本實(shí)施例不一一列舉。
所述命令內(nèi)容包括:應(yīng)用包名、命令服務(wù)進(jìn)程,還可包括:指定頁面信息和/或占位參數(shù)。應(yīng)用包名指的是需要調(diào)用的應(yīng)用的包名,包名(Package Name)為應(yīng)用的唯一標(biāo)識(shí);命令服務(wù)進(jìn)程指的是該應(yīng)用的服務(wù)進(jìn)程activity,從而實(shí)現(xiàn)對(duì)應(yīng)用的原生調(diào)用;指定頁面信息指的是該應(yīng)用中指定頁面的信息,如頁面action,指定頁面信息用于調(diào)用時(shí)啟動(dòng)指定頁面;占位參數(shù)指的是對(duì)于動(dòng)態(tài)參數(shù)進(jìn)行占位的信息,例如包名、身份標(biāo)識(shí)、地址信息等依據(jù)調(diào)用方、源應(yīng)用、終端等動(dòng)態(tài)變更的信息,可通過占位參數(shù)占位,然后在調(diào)用時(shí)依據(jù)調(diào)用參數(shù)填充。
并且本實(shí)施例中,為了避免命令序列對(duì)應(yīng)所有應(yīng)用都無法調(diào)用的情況,還設(shè)置了對(duì)于URL的調(diào)用,即在調(diào)用命令均無效時(shí),可啟動(dòng)瀏覽器調(diào)用URL,進(jìn)行目標(biāo)應(yīng)用的下載,因此還可以配置應(yīng)瀏覽器應(yīng)用的調(diào)用信息。
在一個(gè)示例中,支持調(diào)用的每個(gè)應(yīng)用對(duì)應(yīng)一個(gè)可執(zhí)行命令庫(kù)類的配置表項(xiàng),從而依據(jù)所有可調(diào)用應(yīng)用可生成該配置表??稍诤笈_(tái)配置調(diào)用應(yīng)用并生成命令庫(kù),然后進(jìn)行命令庫(kù)發(fā)布更新等,后臺(tái)配置更新支持調(diào)用的客戶端包名、支持版本區(qū)間、支持調(diào)用命令,默認(rèn)配置表命令一種示例如下表1所示:
表1
其中,調(diào)用版本區(qū)間支持在最低版本到最高版本之間支持多個(gè)版本區(qū)間,還可以采用隔開版本code標(biāo)識(shí)。應(yīng)用名稱和命令名稱可以依據(jù)需求自定義。對(duì)于終端本地應(yīng)用的調(diào)用通過應(yīng)用activity實(shí)現(xiàn),從而實(shí)現(xiàn)對(duì)于應(yīng)用的原生調(diào)用,對(duì)于命令均無效時(shí)瀏覽器應(yīng)用的調(diào)用,可以不設(shè)置activity。對(duì)于應(yīng)用的調(diào)用方法可以包括指定頁面調(diào)用(intent action)、非指定頁面調(diào)用(非intent)和地址調(diào)用(uri-open),即對(duì)于調(diào)用命令對(duì)應(yīng)應(yīng)用可以調(diào)用指定頁面或任意頁面,對(duì)于瀏覽器應(yīng)用用于打開URL對(duì)應(yīng)頁面。在調(diào)用方法intent action和uri-open時(shí),需要設(shè)置對(duì)應(yīng)頁面的action,如瀏覽器頁面的搜索頁面action。
本實(shí)施例中,請(qǐng)求調(diào)用器調(diào)用接口時(shí),傳入命令I(lǐng)D等調(diào)用參數(shù),由服務(wù)端解析命令I(lǐng)D后發(fā)送命令序列給調(diào)用器執(zhí)行。因此可后臺(tái)配置調(diào)用器URL,添加和編輯ID內(nèi)容。
步驟406,接收調(diào)用參數(shù)。
步驟408,依據(jù)所述命令標(biāo)識(shí)確定原始命令序列。
本發(fā)明實(shí)施例中,所述調(diào)用參數(shù)包括命令標(biāo)識(shí)和預(yù)設(shè)地址,還可包括占用符參數(shù)等。服務(wù)端接收到調(diào)用器發(fā)送的調(diào)用參數(shù),從該調(diào)用參數(shù)中獲取命令I(lǐng)D,依據(jù)該命令I(lǐng)D確定原始命令序列,該原始命令序列可以是預(yù)先配置好的,如步驟304,也可以是依據(jù)命令I(lǐng)D確定原始調(diào)用命令以及順序后生成的。
步驟410,判斷原始調(diào)用命令中是否存在占位參數(shù)。
本實(shí)施例中,有些原始調(diào)用命令中可以配置占位參數(shù),因此可判斷原始調(diào)用命令中是否存在占位參數(shù);若是,即始調(diào)用命令中存在占位參數(shù),執(zhí)行步驟412;若否,即始調(diào)用命令中不存在占位參數(shù),執(zhí)行步驟414。
步驟412,采用所述占用符參數(shù)替換所述占位參數(shù),添加到對(duì)應(yīng)轉(zhuǎn)換的調(diào)用命令中。
若原始調(diào)用命令中存在占位參數(shù),則從調(diào)用參數(shù)中獲取占用符參數(shù),采用所述占用符參數(shù)替換所述占位參數(shù),添加到對(duì)應(yīng)轉(zhuǎn)換的調(diào)用命令中。本實(shí)施例中,還可以在服務(wù)端可以配置轉(zhuǎn)譯服務(wù)單元,轉(zhuǎn)譯服務(wù)單元獲取原始調(diào)用命令后,判斷該原始調(diào)用命令中占位參數(shù)@XX,且調(diào)用接口傳過來的調(diào)用參數(shù)中含有占用符參數(shù),可將原始調(diào)用命令中的占位參數(shù)@XX自動(dòng)替換為傳入的對(duì)應(yīng)占用符參數(shù)。
例如,原始調(diào)用命令中占位參數(shù)為@PNAME,命令轉(zhuǎn)換時(shí)會(huì)將APP調(diào)用時(shí)傳入的占用符參數(shù)PNAME自動(dòng)填充在命令代碼中,然后服務(wù)端再傳入給調(diào)用器jar執(zhí)行命令。
步驟414,依據(jù)調(diào)用器的命令規(guī)則,對(duì)所述原始命令序列中原始調(diào)用命令進(jìn)行轉(zhuǎn)換。
步驟416,按照所述原始命令序列中調(diào)用命令的排列順序,將轉(zhuǎn)換的調(diào)用命令進(jìn)行排序,生成轉(zhuǎn)換的命令序列。
步驟418,發(fā)送所述命令序列。
本實(shí)施例可以預(yù)設(shè)設(shè)置調(diào)用器的命令規(guī)則,該命令規(guī)則可依據(jù)調(diào)用器、終端、調(diào)用方等設(shè)置,例如基于調(diào)用器能夠解析的格式配置,從而轉(zhuǎn)換原始命令序列中原始調(diào)用命令的格式。即依據(jù)命令規(guī)則從原始命令序列中依次獲取每個(gè)原始調(diào)用命令,對(duì)該原始調(diào)用命令進(jìn)行轉(zhuǎn)換。再將轉(zhuǎn)換后的調(diào)用命令按照原始調(diào)用命令的排列順序進(jìn)行排序,得到轉(zhuǎn)換的命令序列。將該轉(zhuǎn)換后的命令序列發(fā)送給調(diào)用器。
即在服務(wù)端對(duì)命令按照調(diào)用器的調(diào)用格式規(guī)范進(jìn)行轉(zhuǎn)換,如將命令按照配置順序、命令條件、命令內(nèi)容等參數(shù),轉(zhuǎn)譯為客戶端調(diào)用json規(guī)范格式的命令序列,再將命令序列回傳給調(diào)用器jar進(jìn)行命令的執(zhí)行。
首先,通過服務(wù)端可以配置原始調(diào)用命令,從而生成進(jìn)行原始調(diào)用的調(diào)用命令,在接收到調(diào)用參數(shù)后,可基于調(diào)用ID確定原始命令序列,再通過轉(zhuǎn)換得到調(diào)用器可識(shí)別的命令序列后回傳,提供應(yīng)用啟動(dòng)的成功率。其次,為了防止所有調(diào)用命令均無效,還可以配置預(yù)設(shè)地址以便于在調(diào)用命令均無效時(shí)啟動(dòng)瀏覽器下載應(yīng)用,提高用戶體驗(yàn)。再次,原始調(diào)用命令中配置占位參數(shù),可以依據(jù)調(diào)用參數(shù)中的占位符參數(shù)進(jìn)行替換,提高原始調(diào)用命令的復(fù)用性。
參照?qǐng)D5,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種應(yīng)用調(diào)用方法終端側(cè)實(shí)施例的步驟流程圖,具體可以包括如下步驟:
步驟502,依據(jù)調(diào)用接口調(diào)用源應(yīng)用中集成的調(diào)用器。
步驟504,調(diào)用器獲取所述調(diào)用接口傳輸?shù)恼{(diào)用參數(shù)。
源應(yīng)用運(yùn)行過程中,用戶觸發(fā)頁面中預(yù)設(shè)觸發(fā)位時(shí),可通過調(diào)用接口調(diào)用集成的調(diào)用器,并且通過該調(diào)用接口傳輸調(diào)用參數(shù)。其中,調(diào)用接口可為APP調(diào)用該調(diào)用器時(shí)所需參數(shù)傳送接口。所述調(diào)用參數(shù)包括命令標(biāo)識(shí)、預(yù)設(shè)地址和占位符參數(shù)。
其中,集成APP調(diào)用時(shí)傳入的調(diào)用參數(shù)可包括:無法執(zhí)行命令時(shí)瀏覽器打開的URL地址(即預(yù)設(shè)地址)、orderid(命令I(lǐng)D)、占位符參數(shù)。其中,占位符參數(shù)是非必傳的,可包括如@PNAME包名、@URL、@SID、@APPID、@GIFTID、@GID等,可根據(jù)業(yè)務(wù)需要確定。
步驟506,調(diào)用器上傳調(diào)用參數(shù)給服務(wù)端。
步驟508,接收返回的命令序列。
調(diào)用器上傳調(diào)用參數(shù)給服務(wù)端,在服務(wù)端得到命令序列并回傳后,可接收返回的命令序列。
步驟510,所述調(diào)用器從命令序列中依次獲取調(diào)用命令,通過檢測(cè)所述調(diào)用命令的應(yīng)用條件判斷調(diào)用命令是否生效。
所述調(diào)用器從命令序列中依次獲取調(diào)用命令,對(duì)于每一條調(diào)用命令,依據(jù)該調(diào)用命令的應(yīng)用條件判斷其是否生效,即判斷是否滿足該調(diào)用命令的應(yīng)用條件,其中,應(yīng)用條件可包括一條或多條,若調(diào)用條件存在多條,則每條調(diào)用條件均滿足時(shí),該調(diào)用命令生效,執(zhí)行步驟514;任一條調(diào)用條件不滿足,則該調(diào)用條件不滿足,繼續(xù)后續(xù)下一條調(diào)用命令進(jìn)行檢測(cè),直到調(diào)用命令均不生效,執(zhí)行步驟512。其中,所述應(yīng)用條件包括以下至少一個(gè):應(yīng)用在本地已安裝;本地應(yīng)用的版本在版本范圍內(nèi)。
所述調(diào)用器從命令序列中依次獲取調(diào)用命令,通過檢測(cè)所述調(diào)用命令的應(yīng)用條件判斷調(diào)用命令是否生效,包括:
S1、所述調(diào)用器從命令序列中取出一條調(diào)用命令。其中,初始獲取第一條調(diào)用命令。
S2、判斷所述調(diào)用命令的應(yīng)用條件是否滿足;
若所述調(diào)用命令的應(yīng)用條件均滿足,則所述調(diào)用命令生效;若所述調(diào)用命令的任一應(yīng)用條件不滿足,則返回步驟S1獲取下一條調(diào)用命令,對(duì)所述命令序列中下一條調(diào)用命令的應(yīng)用條件進(jìn)行判斷,直到確定出生效的調(diào)用命令。
步驟512,調(diào)用瀏覽器訪問所述預(yù)設(shè)地址,打開對(duì)應(yīng)的頁面。
若所述命令序列中調(diào)用命令均無效,調(diào)用瀏覽器訪問所述預(yù)設(shè)地址,打開對(duì)應(yīng)的頁面如下載對(duì)應(yīng)的目標(biāo)應(yīng)用。
步驟514,從生效的調(diào)用命令中獲取應(yīng)用包名、命令服務(wù)進(jìn)程。
步驟516,采用所述命令服務(wù)進(jìn)程,啟動(dòng)所述應(yīng)用包名對(duì)應(yīng)的本地應(yīng)用。
若判斷所述命令序列中調(diào)用命令生效,可以從生效的調(diào)用命令對(duì)應(yīng)命令內(nèi)容中獲取應(yīng)用包名、命令服務(wù)進(jìn)程activity。然后采用該服務(wù)activity啟動(dòng)所述應(yīng)用包名對(duì)應(yīng)的本地應(yīng)用。
其中,所述命令內(nèi)容還包括:指定頁面信息;采用所述命令服務(wù)進(jìn)程,啟動(dòng)所述應(yīng)用包名對(duì)應(yīng)的本地應(yīng)用,包括:采用所述命令服務(wù)進(jìn)程,按照所述指定頁面信息,開啟所述應(yīng)用包名對(duì)應(yīng)本地應(yīng)用的指定頁面。即在本地應(yīng)用的調(diào)用方法為intent action,要調(diào)用本地應(yīng)用的指令頁面,可從命令內(nèi)容中獲取指定頁面信息action,服務(wù)activity按照action啟動(dòng)所述應(yīng)用包名對(duì)應(yīng)本地應(yīng)用的指定頁面。
綜上,首先,通過命令序列從多個(gè)調(diào)用命令中選擇生效的調(diào)用命令,提高本地應(yīng)用調(diào)用的成功率,并且能夠推廣在終端中已安裝但不經(jīng)常使用的應(yīng)用,提供應(yīng)用的使用率和終端中資源的利用率。其次,當(dāng)所有調(diào)用命令均不生效時(shí),可通過瀏覽器啟動(dòng)預(yù)設(shè)地址對(duì)應(yīng)頁面,從而確保調(diào)用器能夠使用,并且能夠推廣一些應(yīng)用給用戶,提高用戶體驗(yàn)。
對(duì)于方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明實(shí)施例并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明實(shí)施例,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作并不一定是本發(fā)明實(shí)施例所必須的。
在上述實(shí)施例的基礎(chǔ)上,本實(shí)施例還提供了應(yīng)用調(diào)用裝置。
一個(gè)示例的應(yīng)用調(diào)用裝置可應(yīng)用于終端側(cè)。
參照?qǐng)D6,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種應(yīng)用調(diào)用裝置實(shí)施例的結(jié)構(gòu)框圖,具體可以包括如下模塊:
調(diào)用模塊602,用于依據(jù)調(diào)用接口調(diào)用源應(yīng)用中集成的調(diào)用器。
參數(shù)上傳模塊604,用于通過調(diào)用器上傳調(diào)用參數(shù)給服務(wù)端。
序列接收模塊606,用于接收返回的命令序列,其中,所述命令序列是依據(jù)所述調(diào)用參數(shù)確定的原始命令序列轉(zhuǎn)換得到的,所述命令序列包括順序排列的調(diào)用命令。
命令判斷模塊608,用于通過所述調(diào)用器按照命令序列中的順序依次判斷調(diào)用命令是否生效。
應(yīng)用啟動(dòng)模塊610,用于確定生效的調(diào)用命令對(duì)應(yīng)的本地應(yīng)用,啟動(dòng)所述本地應(yīng)用。
綜上,在應(yīng)用中集成調(diào)用器,通過調(diào)用器從服務(wù)端獲取所需調(diào)用應(yīng)用的命令序列,通過命令序列提供更多的可選應(yīng)用,以提供調(diào)用的成功率,然后調(diào)用命令序列中生效的調(diào)用命令對(duì)應(yīng)的本地應(yīng)用,啟動(dòng)所述本地應(yīng)用,從而通過調(diào)用器進(jìn)行應(yīng)用的原生調(diào)用,確保調(diào)用成功。
參照?qǐng)D7,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種應(yīng)用調(diào)用裝置優(yōu)選實(shí)施例的結(jié)構(gòu)框圖,具體可以包括如下模塊:
調(diào)用模塊602,用于依據(jù)調(diào)用接口調(diào)用源應(yīng)用中集成的調(diào)用器;通過調(diào)用器獲取所述調(diào)用接口傳輸?shù)恼{(diào)用參數(shù),其中,所述調(diào)用參數(shù)包括命令標(biāo)識(shí)
參數(shù)上傳模塊604,用于通過調(diào)用器上傳調(diào)用參數(shù)給服務(wù)端。
序列接收模塊606,用于接收返回的命令序列,其中,所述命令序列是依據(jù)所述調(diào)用參數(shù)確定的原始命令序列轉(zhuǎn)換得到的,所述命令序列包括順序排列的調(diào)用命令。
命令判斷模塊608,用于通過所述調(diào)用器按照命令序列中的順序依次判斷調(diào)用命令是否生效。
應(yīng)用啟動(dòng)模塊610,用于確定生效的調(diào)用命令對(duì)應(yīng)的本地應(yīng)用,啟動(dòng)所述本地應(yīng)用。
頁面打開模塊612,用于在判斷所述命令序列中調(diào)用命令均無效后,調(diào)用瀏覽器訪問所述應(yīng)用地址,打開對(duì)應(yīng)的頁面。所述調(diào)用參數(shù)還包括:預(yù)設(shè)地址。
其中,所述命令判斷模塊,用于通過調(diào)用器從命令序列中依次獲取調(diào)用命令,通過檢測(cè)所述調(diào)用命令的應(yīng)用條件判斷調(diào)用命令是否生效。
其中,所述命令判斷模塊,用于通過所述調(diào)用器從命令序列中取出第一條調(diào)用命令;判斷所述調(diào)用命令的應(yīng)用條件是否滿足;若所述調(diào)用命令的應(yīng)用條件均滿足,則所述調(diào)用命令生效;若所述調(diào)用命令的任一應(yīng)用條件不滿足,則對(duì)所述命令序列中下一條調(diào)用命令的應(yīng)用條件進(jìn)行判斷,直到確定出生效的調(diào)用命令。
其中,所述應(yīng)用條件包括以下至少一個(gè):應(yīng)用在本地已安裝;本地應(yīng)用的版本在版本范圍內(nèi)。
所述應(yīng)用啟動(dòng)模塊,用于從生效的調(diào)用命令對(duì)應(yīng)命令內(nèi)容中獲取應(yīng)用包名、命令服務(wù)進(jìn)程;采用所述命令服務(wù)進(jìn)程,啟動(dòng)所述應(yīng)用包名對(duì)應(yīng)的本地應(yīng)用。
所述生效的調(diào)用命令的命令內(nèi)容還包括:指定頁面信息;所述應(yīng)用啟動(dòng)模塊,用于采用所述命令服務(wù)進(jìn)程,按照所述指定頁面信息,開啟所述應(yīng)用包名對(duì)應(yīng)本地應(yīng)用的指定頁面。
綜上,首先,通過命令序列從多個(gè)調(diào)用命令中選擇生效的調(diào)用命令,提高本地應(yīng)用調(diào)用的成功率,并且能夠推廣在終端中已安裝但不經(jīng)常使用的應(yīng)用,提供應(yīng)用的使用率和終端中資源的利用率。其次,當(dāng)所有調(diào)用命令均不生效時(shí),可通過瀏覽器啟動(dòng)預(yù)設(shè)地址對(duì)應(yīng)頁面,從而確保調(diào)用器能夠使用,并且能夠推廣一些應(yīng)用給用戶,提高用戶體驗(yàn)。
一個(gè)示例的應(yīng)用調(diào)用裝置可應(yīng)用于服務(wù)端側(cè)。
參照?qǐng)D8,示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的一種應(yīng)用調(diào)用裝置實(shí)施例的結(jié)構(gòu)框圖,具體可以包括如下模塊:
參數(shù)接收模塊802,用于接收調(diào)用參數(shù)。
原始序列確定模塊804,用于依據(jù)所述調(diào)用參數(shù)確定原始命令序列。
序列轉(zhuǎn)換模塊806,用于對(duì)所述原始命令序列進(jìn)行轉(zhuǎn)換,確定轉(zhuǎn)換的命令序列。
序列發(fā)送模塊808,用于發(fā)送所述命令序列,以基于所述命令序列啟動(dòng)應(yīng)用,其中,所述命令序列包括順序排列的調(diào)用命令,所述調(diào)用命令用于調(diào)用終端的本地應(yīng)用。
綜上,可以基于調(diào)用參數(shù)確定原始命令序列,然后對(duì)所述原始命令序列進(jìn)行轉(zhuǎn)換,確定適合請(qǐng)求終端和應(yīng)用的命令序列,再將命令序列發(fā)送給調(diào)用器,以基于所述命令序列啟動(dòng)應(yīng)用,從而通過命令序列提供多種可選命令給調(diào)用器,以提高調(diào)用的成功率。
參照?qǐng)D9,示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的一種應(yīng)用調(diào)用裝置優(yōu)選實(shí)施例的結(jié)構(gòu)框圖,具體可以包括如下模塊:
配置模塊810,用于配置原始調(diào)用命令的應(yīng)用條件和命令內(nèi)容;將原始調(diào)用命令按照順序排序,生成原始命令序列。
參數(shù)接收模塊802,用于接收調(diào)用參數(shù);
原始序列確定模塊804,用于依據(jù)所述調(diào)用參數(shù)確定原始命令序列;
序列轉(zhuǎn)換模塊806,用于對(duì)所述原始命令序列進(jìn)行轉(zhuǎn)換,確定轉(zhuǎn)換的命令序列;
序列發(fā)送模塊808,用于發(fā)送所述命令序列,以基于所述命令序列啟動(dòng)應(yīng)用,其中,所述命令序列包括順序排列的調(diào)用命令,所述調(diào)用命令用于調(diào)用終端的本地應(yīng)用。
其中,所述調(diào)用參數(shù)包括命令標(biāo)識(shí),所述原始序列確定模塊,用于依據(jù)所述命令標(biāo)識(shí)確定原始命令序列。
其中,所述序列轉(zhuǎn)換模塊806,包括:
命令轉(zhuǎn)換子模塊8062,用于依據(jù)調(diào)用器的命令規(guī)則,對(duì)所述原始命令序列中原始調(diào)用命令進(jìn)行轉(zhuǎn)換。
排序子模塊8064,用于按照所述原始調(diào)用命令的排列順序,將轉(zhuǎn)換的調(diào)用命令進(jìn)行排序,生成轉(zhuǎn)換的命令序列。
其中,所述調(diào)用參數(shù)還包括:調(diào)用接口對(duì)應(yīng)的占用符參數(shù),所述序列轉(zhuǎn)換模塊806,還包括:
占位替換子模塊8066,用于判斷原始調(diào)用命令中是否存在占位參數(shù);若原始調(diào)用命令中存在占位參數(shù),則采用所述占用符參數(shù)替換所述占位參數(shù),添加到對(duì)應(yīng)轉(zhuǎn)換的調(diào)用命令中。
其中,所述應(yīng)用條件包括以下至少一個(gè):應(yīng)用在終端已安裝,終端安裝應(yīng)用的版本在版本范圍內(nèi);所述命令內(nèi)容包括:應(yīng)用包名、命令服務(wù)進(jìn)程。所述命令內(nèi)容還包括:指定頁面信息和/或占位參數(shù)。
在上述實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例還提供了一種應(yīng)用調(diào)用系統(tǒng),如圖10所述,該應(yīng)用調(diào)用系統(tǒng)包括:服務(wù)器80和終端設(shè)備60;其中,所述服務(wù)器80包括如上述圖6-7實(shí)施例所述的應(yīng)用調(diào)用裝置;所述終端設(shè)備60包括如包括如上述圖8-9實(shí)施例所述的應(yīng)用調(diào)用裝置。
首先,通過服務(wù)端可以配置原始調(diào)用命令,從而生成進(jìn)行原始調(diào)用的調(diào)用命令,在接收到調(diào)用參數(shù)后,可基于調(diào)用ID確定原始命令序列,再通過轉(zhuǎn)換得到調(diào)用器可識(shí)別的命令序列后回傳,提供應(yīng)用啟動(dòng)的成功率。其次,為了防止所有調(diào)用命令均無效,還可以配置預(yù)設(shè)地址以便于在調(diào)用命令均無效時(shí)啟動(dòng)瀏覽器下載應(yīng)用,提高用戶體驗(yàn)。再次,原始調(diào)用命令中配置占位參數(shù),可以依據(jù)調(diào)用參數(shù)中的占位符參數(shù)進(jìn)行替換,提高原始調(diào)用命令的復(fù)用性。
對(duì)于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對(duì)任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說明書的理解。
類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。
本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的應(yīng)用調(diào)用方法和裝置設(shè)備中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
本發(fā)明公開了A1、一種應(yīng)用調(diào)用方法,所述的方法包括:依據(jù)調(diào)用接口調(diào)用源應(yīng)用中集成的調(diào)用器;所述調(diào)用器上傳調(diào)用參數(shù)給服務(wù)端;接收返回的命令序列,其中,所述命令序列是依據(jù)所述調(diào)用參數(shù)確定的原始命令序列轉(zhuǎn)換得到的,所述命令序列包括順序排列的調(diào)用命令;所述調(diào)用器按照命令序列中的順序依次判斷調(diào)用命令是否生效;確定生效的調(diào)用命令對(duì)應(yīng)的本地應(yīng)用,啟動(dòng)所述本地應(yīng)用。
A2、如A1所述的方法,其中,所述調(diào)用器上傳調(diào)用參數(shù)給服務(wù)端,之前包括:所述調(diào)用器獲取所述調(diào)用接口傳輸?shù)恼{(diào)用參數(shù),其中,所述調(diào)用參數(shù)包括命令標(biāo)識(shí)。
A3、如A1所述的方法,其中,所述調(diào)用器按照命令序列中的順序依次判斷調(diào)用命令是否生效,包括:所述調(diào)用器從命令序列中依次獲取調(diào)用命令,通過檢測(cè)所述調(diào)用命令的應(yīng)用條件判斷調(diào)用命令是否生效。
A4、如A3所述的方法,其中,所述調(diào)用器從命令序列中依次獲取調(diào)用命令,通過檢測(cè)所述調(diào)用命令的應(yīng)用條件判斷調(diào)用命令是否生效,包括:所述調(diào)用器從命令序列中取出第一條調(diào)用命令;判斷所述調(diào)用命令的應(yīng)用條件是否滿足;若所述調(diào)用命令的應(yīng)用條件均滿足,則所述調(diào)用命令生效;若所述調(diào)用命令的任一應(yīng)用條件不滿足,則對(duì)所述命令序列中下一條調(diào)用命令的應(yīng)用條件進(jìn)行判斷,直到確定出生效的調(diào)用命令。
A5、如A3或A4所述的方法,其中,所述調(diào)用參數(shù)還包括:預(yù)設(shè)地址,所述的方法還包括:若所述命令序列中調(diào)用命令均無效,調(diào)用瀏覽器訪問所述應(yīng)用地址,打開對(duì)應(yīng)的頁面。
A6、如A4所述的方法,其中,所述應(yīng)用條件包括以下至少一個(gè):應(yīng)用在本地已安裝;本地應(yīng)用的版本在版本范圍內(nèi)。
A7、如A1所述的方法,其中,所述確定生效的調(diào)用命令對(duì)應(yīng)的本地應(yīng)用,啟動(dòng)所述本地應(yīng)用,包括:從生效的調(diào)用命令對(duì)應(yīng)命令內(nèi)容中獲取應(yīng)用包名、命令服務(wù)進(jìn)程;采用所述命令服務(wù)進(jìn)程,啟動(dòng)所述應(yīng)用包名對(duì)應(yīng)的本地應(yīng)用。
A8、如A7所述的方法,其中,所述生效的調(diào)用命令的命令內(nèi)容還包括:指定頁面信息;采用所述命令服務(wù)進(jìn)程,啟動(dòng)所述應(yīng)用包名對(duì)應(yīng)的本地應(yīng)用,包括:采用所述命令服務(wù)進(jìn)程,按照所述指定頁面信息,開啟所述應(yīng)用包名對(duì)應(yīng)本地應(yīng)用的指定頁面。
本發(fā)明實(shí)施例還公開了B9、一種應(yīng)用調(diào)用方法,所述的方法包括:接收調(diào)用參數(shù),依據(jù)所述調(diào)用參數(shù)確定原始命令序列;對(duì)所述原始命令序列進(jìn)行轉(zhuǎn)換,確定轉(zhuǎn)換的命令序列;發(fā)送所述命令序列,以基于所述命令序列啟動(dòng)應(yīng)用,其中,所述命令序列包括順序排列的調(diào)用命令,所述調(diào)用命令用于調(diào)用終端的本地應(yīng)用。
B10、如B9所述的方法,其中,所述調(diào)用參數(shù)包括命令標(biāo)識(shí),所述依據(jù)所述調(diào)用參數(shù)確定原始命令序列,包括:依據(jù)所述命令標(biāo)識(shí)確定原始命令序列。
B11、如B9所述的方法,其中,對(duì)所述原始命令序列進(jìn)行轉(zhuǎn)換,確定轉(zhuǎn)換的命令序列,包括:依據(jù)調(diào)用器的命令規(guī)則,對(duì)所述原始命令序列中原始調(diào)用命令進(jìn)行轉(zhuǎn)換;按照所述原始調(diào)用命令的排列順序,將轉(zhuǎn)換的調(diào)用命令進(jìn)行排序,生成轉(zhuǎn)換的命令序列。
B12、如B11所述的方法,其中,所述調(diào)用參數(shù)還包括:調(diào)用接口對(duì)應(yīng)的占用符參數(shù),對(duì)原始調(diào)用命令進(jìn)行轉(zhuǎn)換的步驟還包括:判斷原始調(diào)用命令中是否存在占位參數(shù);若原始調(diào)用命令中存在占位參數(shù),則采用所述占用符參數(shù)替換所述占位參數(shù),添加到對(duì)應(yīng)轉(zhuǎn)換的調(diào)用命令中。
B13、如B9所述的方法,其中,還包括:配置原始調(diào)用命令的應(yīng)用條件和命令內(nèi)容;將原始調(diào)用命令按照順序排序,生成原始命令序列。
B14、如B13所述的方法,其中,所述應(yīng)用條件包括以下至少一個(gè):應(yīng)用在終端已安裝,終端安裝應(yīng)用的版本在版本范圍內(nèi);所述命令內(nèi)容包括:應(yīng)用包名、命令服務(wù)進(jìn)程。
B15、如B14所述的方法,其中,所述命令內(nèi)容還包括:指定頁面信息和/或占位參數(shù)。
本發(fā)明實(shí)施例還公開了C16、一種應(yīng)用調(diào)用裝置,包括:調(diào)用模塊,用于依據(jù)調(diào)用接口調(diào)用源應(yīng)用中集成的調(diào)用器;參數(shù)上傳模塊,用于通過調(diào)用器上傳調(diào)用參數(shù)給服務(wù)端;序列接收模塊,用于接收返回的命令序列,其中,所述命令序列是依據(jù)所述調(diào)用參數(shù)確定的原始命令序列轉(zhuǎn)換得到的,所述命令序列包括順序排列的調(diào)用命令;命令判斷模塊,用于通過所述調(diào)用器按照命令序列中的順序依次判斷調(diào)用命令是否生效;應(yīng)用啟動(dòng)模塊,用于確定生效的調(diào)用命令對(duì)應(yīng)的本地應(yīng)用,啟動(dòng)所述本地應(yīng)用。
C17、如C16所述的裝置,其中,所述調(diào)用模塊,還用于通過調(diào)用器獲取所述調(diào)用接口傳輸?shù)恼{(diào)用參數(shù),其中,所述調(diào)用參數(shù)包括命令標(biāo)識(shí)。
C18、如C16所述的裝置,其中,所述命令判斷模塊,用于通過調(diào)用器從命令序列中依次獲取調(diào)用命令,通過檢測(cè)所述調(diào)用命令的應(yīng)用條件判斷調(diào)用命令是否生效。
C19、如C18所述的裝置,其中,所述命令判斷模塊,用于通過所述調(diào)用器從命令序列中取出第一條調(diào)用命令;判斷所述調(diào)用命令的應(yīng)用條件是否滿足;若所述調(diào)用命令的應(yīng)用條件均滿足,則所述調(diào)用命令生效;若所述調(diào)用命令的任一應(yīng)用條件不滿足,則對(duì)所述命令序列中下一條調(diào)用命令的應(yīng)用條件進(jìn)行判斷,直到確定出生效的調(diào)用命令。
C20、如C18或C19所述的裝置,其中,所述調(diào)用參數(shù)還包括:預(yù)設(shè)地址,所述的裝置還包括:頁面打開模塊,用于在判斷所述命令序列中調(diào)用命令均無效后,調(diào)用瀏覽器訪問所述應(yīng)用地址,打開對(duì)應(yīng)的頁面。
C21、如C19所述的裝置,其中,所述應(yīng)用條件包括以下至少一個(gè):應(yīng)用在本地已安裝;本地應(yīng)用的版本在版本范圍內(nèi)。
C22、如C16所述的裝置,其中,所述應(yīng)用啟動(dòng)模塊,用于從生效的調(diào)用命令對(duì)應(yīng)命令內(nèi)容中獲取應(yīng)用包名、命令服務(wù)進(jìn)程;采用所述命令服務(wù)進(jìn)程,啟動(dòng)所述應(yīng)用包名對(duì)應(yīng)的本地應(yīng)用。
C23、如C22所述的裝置,其中,所述生效的調(diào)用命令的命令內(nèi)容還包括:指定頁面信息;所述應(yīng)用啟動(dòng)模塊,用于采用所述命令服務(wù)進(jìn)程,按照所述指定頁面信息,開啟所述應(yīng)用包名對(duì)應(yīng)本地應(yīng)用的指定頁面。
本發(fā)明實(shí)施例還提供了D24、一種應(yīng)用調(diào)用裝置,包括:參數(shù)接收模塊,用于接收調(diào)用參數(shù);原始序列確定模塊,用于依據(jù)所述調(diào)用參數(shù)確定原始命令序列;序列轉(zhuǎn)換模塊,用于對(duì)所述原始命令序列進(jìn)行轉(zhuǎn)換,確定轉(zhuǎn)換的命令序列;序列發(fā)送模塊,用于發(fā)送所述命令序列,以基于所述命令序列啟動(dòng)應(yīng)用,其中,所述命令序列包括順序排列的調(diào)用命令,所述調(diào)用命令用于調(diào)用終端的本地應(yīng)用。
D25、如D24所述的裝置,其中,所述調(diào)用參數(shù)包括命令標(biāo)識(shí),所述原始序列確定模塊,用于依據(jù)所述命令標(biāo)識(shí)確定原始命令序列。
D26、如D24所述的裝置,其中,所述序列轉(zhuǎn)換模塊,包括:命令轉(zhuǎn)換子模塊,用于依據(jù)調(diào)用器的命令規(guī)則,對(duì)所述原始命令序列中原始調(diào)用命令進(jìn)行轉(zhuǎn)換;排序子模塊,用于按照所述原始調(diào)用命令的排列順序,將轉(zhuǎn)換的調(diào)用命令進(jìn)行排序,生成轉(zhuǎn)換的命令序列。
D27、如D26所述的裝置,其中,所述調(diào)用參數(shù)還包括:調(diào)用接口對(duì)應(yīng)的占用符參數(shù),所述序列轉(zhuǎn)換模塊,還包括:占位替換子模塊,用于判斷原始調(diào)用命令中是否存在占位參數(shù);若原始調(diào)用命令中存在占位參數(shù),則采用所述占用符參數(shù)替換所述占位參數(shù),添加到對(duì)應(yīng)轉(zhuǎn)換的調(diào)用命令中。
D28、如D24所述的裝置,其中,還包括:配置模塊,用于配置原始調(diào)用命令的應(yīng)用條件和命令內(nèi)容;將原始調(diào)用命令按照順序排序,生成原始命令序列。
D29、如D28所述的裝置,其中,所述應(yīng)用條件包括以下至少一個(gè):應(yīng)用在終端已安裝,終端安裝應(yīng)用的版本在版本范圍內(nèi);所述命令內(nèi)容包括:應(yīng)用包名、命令服務(wù)進(jìn)程。
D30、如D29所述的裝置,其中,所述命令內(nèi)容還包括:指定頁面信息和/或占位參數(shù)。
本發(fā)明實(shí)施例還提供了E31、一種應(yīng)用調(diào)用系統(tǒng),包括:服務(wù)器和終端設(shè)備;所述服務(wù)器包括如C24-C30任一所述的應(yīng)用調(diào)用裝置;所述終端設(shè)備包括如D16-D23任一所述的應(yīng)用調(diào)用裝置。