本發明涉及一種基于webapp的應用推薦方法及系統,尤其涉及的是一種通過webapp在Android系統電子設備上的應用推薦方法及系統。
背景技術:
隨著Android系統的迅猛發展,其應用范圍越來越廣泛,如智能手機、平板,以及隨后出現的智能電視。
就目前應用Android系統的電子設備而言,大多數操作系統開發商采用的是在原生系統上進行深層次的定制之后,所開發出的具有自己特色的Android系統。而與此同時,大量的互聯網企業進入Android系統電子設備行業,尤其是智能電視行業,那么如何快速有效地在Android系統電子設備上進行商業運營,從而在為人們生活帶來更多樂趣的同時獲取相應利潤,進而進一步加大在Android系統電子設備的投入以形成良性循環是目前亟待解決的技術問題。
因此,現有技術還有待于改進和發展。
技術實現要素:
鑒于上述現有技術的不足,本發明的目的在于提供一種基于webapp的應用推薦方法及系統,旨在解決進入Android系統電子設備行業的互聯網企業如何快速有效地在Android系統電子設備上進行商業運營,從而在為人們生活帶來更多樂趣的同時獲取相應利潤,進而進一步加大在Android系統電子設備的投入以形成良性循環的問題。
本發明解決技術問題所采用的技術方案如下:
一種基于webapp的應用推薦方法,其中,所述基于webapp的應用推薦方法包括以下步驟:
webapp訪問應用圈后臺接口,并通過cordova框架查找出所有第一應用程序,所述第一應用程序為應用圈后臺欲推薦、但未安裝于該電子設備的應用程序;
將至少一個第一應用程序的名稱及圖標顯示于webapp的推薦頁面,并彈出webapp推薦頁面至該電子設備顯示屏。
所述的基于webapp的應用推薦方法,其中,所述webapp訪問應用圈后臺接口,并通過cordova框架查找出所有第一應用程序具體包括以下步驟:
webpp訪問應用圈后臺接口,并獲取所有第二應用程序的apk列表,所述第二應用程序為應用圈后臺欲推薦的應用程序,所述apk列表為一json串,其中的每一條數據皆對應一第二應用程序、且包括該第二應用程序的包名;
通過JavaScript進行apk列表解析,從而得到apk列表中所有第二應用程序所對應的數據;
通過cordova框架到所述電子設備的系統層面進行每一條數據的包名檢測,以判斷所述電子設備是否已安裝相應的應用程序;
將所有第一應用程序的包名取出,并存儲于一待推薦應用的數組中。
所述的基于webapp的應用推薦方法,其中,所述通過JavaScript進行apk列表解析,從而得到apk列表中所有第二應用程序所對應的數據具體為:
獲取一第二應用程序的包名,并通過封裝于cordova框架的JavaScript函數調用匹配函數,通過匹配函數判斷該第二應用程序的包名是否與電子設備上應用程序的包名相同,若是則該第二應用程序為非第一應用程序,若否則重新定義該第二應用程序為第一應用程序。
所述的基于webapp的應用推薦方法,其中,所述將至少一個第一應用程序的名稱及圖標顯示于webapp的推薦頁面,并彈出webapp推薦頁面至該電子設備顯示屏之后還包括步驟:
接收用戶指令,取消webapp推薦頁面的顯示,或者下載webapp推薦頁面中至少一個第一應用程序。
所述的基于webapp的應用推薦方法,其中,所述接收用戶指令,取消webapp推薦頁面的顯示,或者下載webapp推薦頁面中至少一個第一應用程序具體為:
接收用戶取消顯示的指令,取消webapp推薦頁面的顯示并累計用戶拒絕下載的次數;
或者接收用戶下載第一應用程序的指令,下載webapp推薦頁面中至少一個第一應用程序并累計用戶同意下載的次數。
所述的基于webapp的應用推薦方法,其中,所述將至少一個第一應用程序的名稱及圖標顯示于webapp的推薦頁面,并彈出webapp推薦頁面至該電子設備顯示屏還包括:
獲取顯示于webapp推薦頁面的第一應用程序的相應數據,并累計第一應用程序所彈出次數。
所述的基于webapp的應用推薦方法,其中,所述將至少一個第一應用程序的名稱及圖標顯示于webapp的推薦頁面,并彈出webapp推薦頁面至該電子設備顯示屏具體為:
當所查找第一應用程序數目為0時,不顯示webapp推薦頁面;當所查找第一應用程序數目大于0時,將至少一個第一應用程序的名稱及圖標顯示于webapp推薦頁面,并彈出webapp推薦頁面至該電子設備顯示屏。
所述的基于webapp的應用推薦方法,其中,所述webapp訪問應用圈后臺接口,并通過cordova框架查找出所有第一應用程序之前還包括步驟:
通過應用圈后臺運營數據判斷用戶是否已激活應用圈,若是則不執行動作,若否則驅動webapp訪問應用圈后臺接口,并通過cordova框架查找出所有第一應用程序;
所述推薦第一應用程序并顯示于顯示屏的方法替換為:
將至少一個第一應用程序的名稱及圖標顯示于webapp的推薦頁面,并彈出且僅彈出一次webapp推薦頁面至該電子設備顯示屏。
所述的基于webapp的應用推薦方法,其中,所述webapp推薦頁面包括1至4個第一應用程序推薦位。
一種基于webapp的應用推薦系統,其中,所述基于webapp的應用推薦系統包括:
第一應用程序查找模塊,用于在Android系統的電子設備進入應用圈后,訪問應用圈后臺接口,并通過cordova查找出所有第一應用程序,所述第一應用程序為應用圈后臺欲推薦、但未安裝于該電子設備的應用程序;
第一應用程序推薦模塊,用于將至少一個第一應用程序的名稱及圖標顯示于webapp推薦頁面,并彈出webapp推薦頁面至該電子設備顯示屏。
與現有技術相比,本發明所提供的基于webapp的應用推薦方法,由于采用了Android系統的電子設備進入應用圈后,webapp訪問應用圈后臺接口,并通過cordova框架逐個判斷應用圈后臺欲推薦的應用程序是否已安裝于該電子設備,以查找出所有第一應用程序,并在此之后將至少一個第一應用程序的名稱及圖標顯示于webapp的推薦頁面,并彈出webapp推薦頁面至該電子設備顯示屏。使得采用該方法的Android系統電子設備可在用戶進入應用圈時進行應用程序的推薦,一方面可快速、方便的顯示用戶可能需要,但尚未安裝的應用程序,省卻了用戶查找安裝的過程;另一方面則可以幫助企業進行應用程序的推薦,使其走入用戶視野,在為人們生活帶來更多樂趣的同時獲取相應利潤,進而形成應用程序發展的良性循環。尤其需要注意的是,該方法通過webapp實現,利用webapp開發成本低、升級簡單且維護輕松的優點,高效的解決了進入Android系統電子設備行業的互聯網企業如何快速有效地在Android系統電子設備上進行商業運營,從而在為人們生活帶來更多樂趣的同時獲取相應利潤,進而進一步加大在Android系統電子設備的投入以形成良性循環的問題。
附圖說明
圖1是本發明中基于webapp的應用推薦方法較佳實施例的流程示意圖。
具體實施方式
本發明提供一種基于webapp的應用推薦方法及系統,為使本發明的目的、技術方案及效果更加清楚、明確,以下參照附圖并舉實例對本發明進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
本發明中所述的Android系統電子設備指基于Android操作系統的智能電視。
如圖1所示,本發明提供了一種基于webapp的應用推薦方法,其包括:
S200、Android系統的電子設備進入應用圈后,webapp訪問應用圈后臺接口,并通過cordova框架逐個判斷應用圈后臺欲推薦的應用程序是否已安裝于該電子設備,以查找出所有第一應用程序,所述第一應用程序為應用圈后臺欲推薦、但未安裝于該電子設備的應用程序。
本發明較佳實施例中,應用圈是專為智能電視打造的電視應用市場,其可在Android智能電視與Android智能盒子上使用,提供所有的電視應用。其主要功能有應用程序安裝、應用程序管理、一鍵加速及首字母搜索等。
webapp是指基于Web的系統和應用,其作用是向廣大的最終用戶發布一組復雜的內容和功能,從一個簡單的幫助消費者計算汽車租借費用的網頁,到為商業人員和度假者提供全套旅游服務的大型復雜的WEB站點,都是WebApp。但并非所有的網站都是webapp,如沒有執行任何任務的網站就不是webapp,因此,webapp在一定程度上來講,是完成了一個或多個任務(哪怕任務再小)的系統或應用。
Webapp有以下幾個有點:第一、使用W3C標準的HTML(標準通用標記語言下的一個應用)語言開發,能夠輕松實現跨平臺,移動應用開發者不再需要考慮復雜的底層適配和跨平臺開發語言的問題。與此同時,使用HTML來開發的Webapp在投入上會大大的低于傳統的Nativeapp;
第二、移動應用的迭代周期平均不到1個月,用戶需要頻繁的重新下載與升級。而Webapp則無需用戶下載,并且和傳統網站一樣可以動態升級;
第三、Webapp有App的特性,更有Web的特性。每一個Nativeapp在當前的用戶使用場景下是相對孤立的,而Webapp則可以像傳統互聯網網頁那樣相互鏈接,從一個Webapp直接跳轉到另外一個Webapp。這無論是從用戶的使用體驗層面還是從應用之間的數據傳輸來看都是非常不錯的選擇。
以上是現有技術中webapp已存在且成熟的技術,也是webapp的主要應用領域,本發明中所述webapp與現有技術不同的是,現有技術webapp無法調用Android系統的api,其僅是一個運用html、JavaScript和css技術開發的網站;而本發明中webapp通過訪問應用圈后、利用cordova框架調用Android系統的一些接口,進而建立webapp與Android系統之間的橋梁,使得webapp能夠獲取到電子設備本身所擁有的apk,從而對應用列表進行篩選后顯示出電子設備尚未安裝的apk,并打通下載接口以供用戶自行選擇需要的應用進行下載。
Cordova是貢獻給Apache后的開源項目,是從PhoneGap中抽出的核心代碼,是驅動PhoneGap的核心引擎。而Apache是一種web服務器軟件,其為動態網站運行于計算機等終端設備的必備軟件;PhoneGap是一個用基于HTML,CSS和JavaScript的,創建移動跨平臺移動應用程序的快速開發平臺,它使開發者能夠利用iPhone,Android,Palm,Symbian等智能手機的核心功能--包括地理定位,加速器,聯系人,聲音和振動等。
Cordova提供了一組設備相關的API,通過這組API,移動應用能夠以JavaScript訪問原生的設備功能,如攝像頭、麥克風等。除此之外,其還提供了一組統一的JavaScript類庫,以及為這些類庫所用的設備相關的原生后臺代碼。
API是操作系統留給應用程序的一個調用接口,應用程序通過調用操作系統的 API 而使操作系統去執行應用程序的命令(動作)。
JavaScript一種直譯式腳本語言,是一種動態類型、弱類型、基于原型的語言,具體地說是一種基于對象和事件驅動并具有相對安全性的客戶端腳本語言,其內置支持類型。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分。
css是英文Cascading Style Sheets的縮寫,它是一種用來表現HTML(標準通用標記語言的一個應用)或XML(標準通用標記語言的一個子集)等文件樣式的計算機語言。
S300、將至少一個第一應用程序的名稱及圖標顯示于webapp的推薦頁面,并彈出webapp推薦頁面至該電子設備顯示屏。
本發明較佳實施例中,webapp推薦頁面包括1至4個第一應用程序推薦位,優選為4個,且包含兩個選擇項,一為下載,二為取消。
Webapp推薦頁面彈出時,默認在顯示于其上的所有第一應用程序都是被選中的,因為第一應用程序都是該電子設備未安裝的,用戶需要進行安裝或者說想要進行安裝的概率比較大,而一個個進行點選的話較為麻煩,尤其是智能電視,其選擇相對于智能手機及平板來說,更為麻煩,因此,在此時默認所述第一應用程序全部被選中,極大的方便了用戶。且在用戶不想下載其中的某一個或多個第一應用程序時可以進行反選取消,自主性強。
而在進一步的較佳實施例中,S200之前還包括:S100、通過應用圈后臺運營數據判斷用戶是否已激活應用圈,若是則不執行動作,若否則執行。
而S300可替換為:將至少一個第一應用程序的名稱及圖標顯示于webapp的推薦頁面,并彈出且僅彈出一次webapp推薦頁面至該電子設備顯示屏。
將webapp推薦頁面在應用圈后臺設置為自動彈出且僅彈出一次,一方面如前所述是方便用戶進行應用下載、省卻了較為麻煩的搜索過程;另一方面是對用戶進行提示,防止有些用戶想要下載應用卻不得其門而入;又一方面是在已經提示用戶的基礎上,防止多次彈出,對用戶正常使用電子設備產生干擾。
不僅如此,還可以在當所查找第一應用程序數目為0時,不顯示webapp推薦頁面;當所查找第一應用程序數目大于0時,將至少一個第一應用程序的名稱及圖標顯示于webapp推薦頁面,并彈出webapp推薦頁面至該電子設備顯示屏。
通過有效的檢測及比對,在當第一應用程序為0時,不彈出webapp已防止用戶的正常使用遭到干擾,而在第一應用程序不為0時,則彈出webapp以完成應用推薦的任務。與上述方案webapp推薦頁面彈出且僅彈出一次相結合,可最優化的實現為用戶安裝可能需要的應用程序的同時,避免用戶正常使用電子設備收到干擾。
與現有技術相比,本發明所提供的基于webapp的應用推薦方法,由于采用了Android系統的電子設備進入應用圈后,webapp訪問應用圈后臺接口,并通過cordova框架逐個判斷應用圈后臺欲推薦的應用程序是否已安裝于該電子設備,以查找出所有第一應用程序,并在此之后將至少一個第一應用程序的名稱及圖標顯示于webapp的推薦頁面,并彈出webapp推薦頁面至該電子設備顯示屏。使得采用該方法的Android系統電子設備可在用戶進入應用圈時進行應用程序的推薦,一方面可快速、方便的顯示用戶可能需要,但尚未安裝的應用程序,省卻了用戶查找安裝的過程;另一方面則可以幫助企業進行應用程序的推薦,使其走入用戶視野,在為人們生活帶來更多樂趣的同時獲取相應利潤,進而形成應用程序發展的良性循環。尤其需要注意的是,該方法通過webapp實現,利用webapp開發成本低、升級簡單且維護輕松的優點,高效的解決了進入Android系統電子設備行業的互聯網企業如何快速有效地在Android系統電子設備上進行商業運營,從而在為人們生活帶來更多樂趣的同時獲取相應利潤,進而進一步加大在Android系統電子設備的投入以形成良性循環的問題。
本發明進一步地較佳實施例中,所述S200具體包括:
S210、webpp訪問應用圈后臺接口,并獲取所有第二應用程序的apk列表,所述第二應用程序為應用圈后臺欲推薦的應用程序,所述apk列表為一json串,其中的每一條數據皆對應一第二應用程序、且包括該第二應用程序的包名。
APK是AndroidPackage的縮寫,即Android安裝包(apk)。
JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。它基于ECMAScript的一個子集。JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習慣(包括C、C++、C#、Java、JavaScript、Perl、Python等)。這些特性使JSON成為理想的數據交換語言。易于人閱讀和編寫,同時也易于機器解析和生成(一般用于提升網絡傳輸速率)。
具體實施時,所述第二應用程序為運營人員想要進行推薦,但尚未確定是否已安裝于所述電子設備的應用,而所述第一應用程序則是運營人員想要進行推薦、已確認未安裝于所述電子設備的應用。第一應用程序是由第二應用程序經過webapp判斷后而選擇出的,即所有的第一應用程序皆來自于第二應用程序。
每一條數據皆包含其所對應apk的包名、下載地址url、apk顯示名稱title、icon圖標的地址url以及識別apk的id。
S220、通過JavaScript進行apk列表解析,從而得到apk列表中所有第二應用程序所對應的數據。
S230、通過cordova框架到所述電子設備的系統層面進行每一條數據的包名檢測,以判斷所述電子設備是否已安裝相應的應用程序。
與現有技術不同的是,web端對于應用程序安裝情況的判斷過程并非直接得到是或否的結果,而是通過接取web端啟用相應應用程序的過程來進行判斷的。
具體實施時,首先獲取一第二應用程序的包名,然后通過封裝于cordova框架的JavaScript函數調用匹配函數,通過匹配函數判斷該第二應用程序的包名是否與電子設備上應用程序的包名相同,若是則該第二應用程序為非第一應用程序,若否則重新定義該第二應用程序為第一應用程序。
重新定義第二應用程序未第一應用程序即認定該第二應用程序是應用圈后臺欲推薦且未安裝于電子設備的應用程序,并將該應用程序的相關數據及信息保留等待后續處理。
S240、將所有第一應用程序的包名取出,并存儲于一待推薦應用的數組中。
具體實施時,將所述數組命名為“未安裝應用”,以便對第一應用程序及第二應用程序進行后續處理上的區分。
當這個數組的長度達到4(即已出現并且包名已存儲于數組中的第一應用程序數量已達到4個),或者遍歷結束之后(數組長度可能小于4), 則再根據這個數組中的包名再次去匹配通過后臺所拿到的數據,并將其apk顯示名稱title以及icon圖標顯示在網頁上,至此就完成了apk推薦的過程。
本發明進一步地較佳實施例中,所述基于webapp的應用推薦方法還包括:S400、接收用戶指令,取消webapp推薦頁面的顯示,或者下載webapp推薦頁面中至少一個第一應用程序。
在頁面顯示推薦的apk之后,頁面上將出現3(只有1個未安裝的推薦應用)至6(最多4個推薦應用)個焦點,除了推薦位,有兩個是下載/取消的選項。默認情況下,推薦應用都是被勾選中的,用戶點擊下載按鈕則意味著一鍵下載,將會下載安裝所有推薦的應用,若是將焦點移動到推薦icon圖標之上,再點擊確定,則會取其勾選的相反狀態,此時再點擊下載按鈕則只會下載安裝用戶自己選中的應用。相反,用戶點擊取消按鈕,則關閉當前的web頁面,不做其他處理。
大數據的統計對于了解用戶習慣是極為重要的一個環節,有利于企業可根據所統計大數據對研發方向等進行有效的統籌,以進一步完善企業為用戶帶來樂趣和方便,用戶為企業帶來相應利潤的良性循環。
因此,在本發明進一步地較佳實施例中,S400具體執行操作如下:接收用戶取消顯示的指令,取消webapp推薦頁面的顯示并累計用戶拒絕下載的次數;或者接收用戶下載第一應用程序的指令,下載webapp推薦頁面中至少一個第一應用程序并累計用戶同意下載的次數。
而在S300中還可以有獲取顯示于webapp推薦頁面的第一應用程序的相應數據,并累計第一應用程序所彈出次數。
根據以上三個動作,全面進行大數據的統計,在為用戶帶來方便及樂趣的同時,創造應用程序研發及使用的良性循環。
本發明還提供了一種基于webapp的應用推薦系統,其包括:
第一應用程序查找模塊,用于在Android系統的電子設備進入應用圈后,訪問應用圈后臺接口,并通過cordova查找出所有第一應用程序,所述第一應用程序為應用圈后臺欲推薦、但未安裝于該電子設備的應用程序,具體如上述方法實施例所述;
第一應用程序推薦模塊,用于將至少一個第一應用程序的名稱及圖標顯示于webapp推薦頁面,并彈出webapp推薦頁面至該電子設備顯示屏,具體如上述方法實施例所述。
應當理解的是,本發明的應用不限于上述的舉例,對本領域普通技術人員來說,可以根據上述說明加以改進或變換,所有這些改進和變換都應屬于本發明所附權利要求的保護范圍。