快應用調查
一.什麼是快應用
1.快應用是基於手機硬體平臺的新型應用形態;
2.標準是由主流手機廠商組成的快應用聯盟聯合制定;
二.快應用的特點
快應用使用前端技術棧開發,執行效率和開發效率達到了很好的平衡,同時很多前端程式碼資源可以直接複用。快應用的開發模式貼近前端主流的思想,採用了模板加資料繫結的MVVM模式,支援標準的JS語法,為獲得更高的渲染效能和易用性,對CSS和標籤進行了一些剪裁和擴充,整體的學習成本非常低。
雖然使用前端技術棧,但快應用沒有采用傳統瀏覽器核心的執行模式,而是通過全新的引擎,將系統原生的渲染機制和介面能力提供給上層應用,使得快應用的能力和體驗基本等同於原生應用。通過這套引擎,快應用可以使用包括硬體在內的大量系統能力,同時還集成了非常多的服務能力,例如推送、賬號、支付、統計等。

快應用特點
從目前的快應用體驗來說,並沒有體驗到如原生應用的絲滑般的感覺,從使用體驗來講,反而類似於微信小程式。
2.1運作流程

運作流程
2.2技術特點

快應用技術特點
2.3快應用效能優勢

快應用效能優勢
2.4快應用介面能力

快應用介面能力
2.5快應用的流量來源

快應用的流量來源
2.6快應用的後期規劃

快應用後期規劃
2.7目前接入快應用的優質案例
其中“餓了麼”體驗較差,無法傳送驗證碼,無法定位。“攜程“”,“搜狐新聞”渲染速度較高,載入流程,功能與原生功能比較,較為完整。“互動百科”,"快看漫畫"沒有在入口搜尋到相應的快應用。PS:使用的手機為魅族手機。

快應用接入案例
三.快應用簡介
3.1快應用的開發要求
開發快應用需要以下環境配置:
* PC安裝toolkit工具;
* 手機安裝偵錯程式;
* 手機安裝平臺預覽版;
PC安裝toolkit工具
安裝NodeJS
需安裝 6.0 以上版本的NodeJS,請從 ofollow,noindex">NodeJS官網 下載
安裝hap-toolkit
通過npm倉庫安裝,在命令列中執行以下命令:
npm install -g hap-toolkit
在命令列中執行hap -V會輸出版本資訊表示hap-toolkit安裝成功,如下命令所示:
hap -V
手機安裝偵錯程式
偵錯程式是一個Android應用程式,下載偵錯程式APK詳見 資源下載
在手機上安裝並開啟偵錯程式,按鈕功能如下:
* 掃碼安裝 :配置HTTP伺服器地址,下載rpk包,並喚起平臺執行rpk包;
* 本地安裝 :選擇手機檔案系統中的rpk包,並喚起平臺執行rpk包;
* 線上更新 :重新發送HTTP請求,更新rpk包,並喚起平臺執行rpk包;
* 開始除錯 :喚起平臺執行rpk包,並啟動遠端除錯;
PS :若開啟偵錯程式無法點選按鈕,請升級手機系統到最新版本或安裝平臺預覽版

快應用偵錯程式
手機安裝平臺預覽版
較新的系統版本中內建平臺正式版,開發除錯平臺新功能可使用平臺預覽版
平臺預覽版存在以下優缺點:
* 優點:迭代速度快,可立即體驗平臺新功能;
* 缺點:實現與真實的執行環境存在差異,對廠商服務和第三方服務的支援存在缺陷;
平臺預覽版是一個Android應用程式,下載平臺預覽版APK詳見 資源下載
下載安裝成功後,在手機偵錯程式中點選切換執行平臺至org.hapjs.mockup,即可在平臺預覽版上安裝執行rpk包
程式碼編輯
程式碼編輯工具可以選擇Visual Studio Code、WebStorm、Sublime Text開發
下載安裝
點選跳轉 下載Visual Studio Code
點選跳轉 下載Webstorm
點選跳轉 下載Sublime Text
3.2快應用API
快應用的詳細API不逐一介紹,具體可以檢視文件: 快應用API詳細文件 。下面主要介紹一下快應用目前能夠提供的服務。
由廠商提供的服務有:
廠商服務
3.2.1 推送:
介面定義:push.getProvider() 1000+
可以獲取到獲取服務提供商。
引數 : 無
返回值 : 字串,服務提供商的代號,如廠商的英文品牌名稱,假如無此服務則返回空字串
示例 : push.subscribe(OBJECT)
訂閱push,後續可以收到push訊息(一般可在應用初始化的地方進行呼叫。比如在app的onCreate方法中呼叫。)
push.on(OBJECT)
新增push事件回撥(透傳訊息的payload內容可在此回撥中收到)

推送支援明細
3.2.2 支付:
介面定義:pay.getProvider()1000+
引數 : 無
返回值:字串,服務提供商的代號,如廠商的英文品牌名稱,假如無此服務則返回空字串
示例 : console.log(pay.getProvider())
pay.pay(OBJECT)
使用支付完成付款

支付支援明細
3.2.3 統計:
介面定義:
stats.getProvider() 獲取服務提供商。
引數:無
返回值 : 字串,服務提供商的代號,如廠商的英文品牌名稱,假如無此服務則返回空字串
示例:console.log(stats.getProvider())
stats.recordCountEvent(OBJECT)
計數型別事件。通常用來描述⼀個事件累積發⽣的次數,適用的場景如按鈕點選、介面進入、使用者輸入等。
引數 :

recordCountEvent介面引數
返回值:無
stats.recordCalculateEvent(OBJECT)
計算型別事件。用通常用來描述⼀個帶數值的事件的發⽣,適用的場景如使用者消費事件,附帶的數值是每次消費的⾦額;下載⽂件事件,附帶的數值是每次下載消耗的時間等
引數 :

recordCalculateEvent介面引數
返回值:無

統計廠商支援明細
3.2.4 賬號:
介面定義:
account.getProvider() 獲取服務提供商。
引數 : 無
返回值:字串,服務提供商的代號,如廠商的英文品牌名稱,假如無此服務則返回空字串
示例 : console.log(account.getProvider())
account.authorize(OBJECT)
進行OAuth授權。
引數:

authorize介面引數
success返回值:

authorize介面成功返回值
account.getProfile(OBJECT)
獲得使用者基本資訊。
引數:

getProfile介面引數
success返回值:

getProfile介面成功返回值
unionid機制說明:如果開發者擁有多個移動應用,可通過unionid來區分使用者的唯一性,因為只要是同一個開放平臺帳號下的移動應用,使用者的unionid是唯一的。換句話說,同一使用者,對同一個開放平臺下的不同應用,unionid是相同的。

賬號介面支援明細
第三方服務
3.2.5 微信支付
微信支付有app支付和網頁支付兩種方式,不同廠商實現會選擇支援其中的一種。為了提升使用者體驗和相容不同廠商實現,需要同時支援這兩種方式。廠商實現詳見“支援版本明細”
介面定義:
wxpay.getType() 獲取當前可用的微信支付呼叫方式
引數 : 無
返回值:

getType介面返回值
PS : 在 getType 返回值為 APP 時,開發者將只能使用 app 方式,不能使用網頁方式。
wxpay.pay(OBJECT) 發起微信支付
引數:

pay介面引數
extra引數:

app方式

網頁方式
success返回值:

wxpay.pay介面成功返回值

支援明細
3.2.6 支付寶支付
介面定義:
alipay.pay(OBJECT) 使用支付寶支完成支付
引數:

alipay.pay介面引數

支援明細
3.2.7 QQ賬戶
介面定義:
qqaccount.getType() 獲取當前的QQ登陸方式
引數:無
返回值:

qqaccount.getType介面返回值
qqaccount.authorize(OBJECT)
發起qq登陸,不同的登陸方式下,應該傳入不同的引數,呼叫之前應該先使用getType函式查詢當前的登陸方式
引數:

qqaccount.authorize引數
success返回值:

qqaccount.authorize介面返回值

QQ賬戶支援廠商
3.2.8 微信賬戶
介面定義:
wxaccount.getType() 獲取當前的微信登陸方式
引數:無
返回值:

wxaccount.getType介面返回值
wxaccount.authorize(OBJECT) 發起微信登陸,呼叫之前應該先使用getType函式查詢APP登陸方式是否被支援
引數:

wxaccount.authorize引數
success返回值:

wxaccount.authorize返回值

微信賬戶支援明細
3.2.9 微博賬戶
介面定義:
wbaccount.getType() 獲取當前的微博登入方式
引數: 無
返回值:

wbaccount.getType()返回值
wbaccount.authorize(OBJECT) 進行微博授權
引數:

wbaccount.authorize引數
success返回值:

wbaccount.authorize成功返回值

支援明細
3.2.10 第三方分享
manifest引數說明
在使用第三方分享時,需要在manifest.json檔案中填寫一些引數。可以填寫所有引數來支援所有分享平臺

manifest引數說明
介面定義
share.getProvider()1000+獲取服務提供商
引數:無
返回值:
字串,服務提供商的代號,如廠商的英文品牌名稱,假如無此服務則返回空字串
share.share(OBJECT)
分享內容
引數:

share.share介面引數
share.getAvailablePlatforms(OBJECT) 1010+
獲取當前可用的支援分享的平臺列表
引數:

share.getAvailablePlatforms引數
success返回值:

share.getAvailablePlatforms成功回撥返回值

第三方分享支援廠商
目前分享的平臺只支援“新浪微博”、“QQ”、“微信好友”、“微信朋友圈”、“系統分享”等幾個平臺。並不能像統計那樣可以自定義統計事件,這也可能是目前第三方SDK只有統計的原因之一。
四.目前階段快應用第三方SDK競品分析
4.1統計類
【輕粒子】
這款叫“輕粒子”的快應用資料統計分析平臺是為快應用專門打造的一款資料統計分析產品,除提供日常基礎資料統計服務以外,包括:日常uv、pv、留存、活躍度、使用者畫像、自定義事件、事件漏斗等;同時還基於快應用標準專門開發了許多特色功能,如桌面icon(圖示)建立情況分析、手機廠商流量分析、入口來源流量分析(正在開發中)等.
產品特點:
1. 基礎指標詳細展現,快速瞭解快應用概況
實時資料每【5分鐘】更新展現新增使用者、活躍使用者、頁面訪問次數、應用開啟次數、次均使用時長及流失率等資料;
整體趨勢將從更靈活的時間維度(支援自定義時間)展示上述新增、活躍、頁面訪問次數、應用開啟次數、次均使用時長、流失率 等多維資料。
2.特色指標,專門為快應用而開發
根據這款SDK的文件宣稱,是專門為快應用而開發的SDK,有針對性的開發特色功能。比如桌面(icon)建立情況分析等。
3. 十大廠商一站式訪問,不用單獨登入各家平臺
解決分別登入十家手機廠商開放平臺難題,提供跨廠商資料統計服務,實現在一個後臺檢視所有廠商的快應用資料。
4. 事件/轉化漏斗,支援更加靈活的事件統計分析策略
自定義事件,支援靈活定製自定義事件,打造適合自己的資料採集策略;
轉化漏斗,把控每個關鍵節點的流失和轉化;助你多維度排查問題原因,找到最佳使用者轉化路徑。(根據其報告稱,預計11月月底上線)
5. 精準劃分使用者群體,分析不同人群屬性和行為特徵
人群分析,精準劃分使用者群體,分析不同人群屬性和行為特徵,進行特徵營銷;支援地域、裝置、版本、網路等多種方式劃分使用者群,實現多樣化營銷。

輕粒子後臺演示demo

輕粒子統計廠商分析

輕粒子統計後臺受訪頁分析

輕粒子統計後臺使用者畫像
6.包體分析

輕粒子SDK

輕粒子SDK
從大小來看,輕粒子SDK的包體非常小,只有不到30K,檔案內容暫時無法開啟。
【友盟+】
友盟+目前也在搶佔快應用資料統計分析這一領域,其產品特點與【輕粒子】有很大的相似性,主要展現的資料型別依舊是“新增使用者”、"活躍使用者"、"啟動次數"、"渠道資料"、"自定義事件資料"等幾個維度,唯一不同的兩點是:
1.資料更新時效是【每小時】,這點有別於“輕粒子”的每5分鐘更新時效。
2.友盟+依託其大資料能力,支援進行使用者分群與使用者畫像功能。
目前友盟+並沒有把快應用單獨規劃為一個獨立的平臺,只是建議使用者註冊appkey的時候分開註冊。

友盟+
包體大小:

友盟+快應用統計SDK