[發明專利]一種基于數據和狀態的移動應用埋點方法在審
| 申請號: | 202011084491.4 | 申請日: | 2020-10-12 |
| 公開(公告)號: | CN112230917A | 公開(公告)日: | 2021-01-15 |
| 發明(設計)人: | 金小俊;趙化;王興明 | 申請(專利權)人: | 上海賽可出行科技服務有限公司 |
| 主分類號: | G06F8/38 | 分類號: | G06F8/38;G06F11/36;G06F3/0488;G06F9/451 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 200131 上海市浦東新區自由貿*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 數據 狀態 移動 應用 方法 | ||
1.一種基于數據和狀態的移動應用埋點方法,其特征在于,所述移動應用埋點方法包含埋點配置MIS系統和客戶端埋點SDK,埋點配置和實施流程如下:
一、MIS系統埋點配置
以頁面為單位進行埋點配置,頁面以類名作為唯一標識;若存在該頁面的設計圖,則直接將設計圖導入MIS系統,若沒有相應的設計圖,則在APP端進行截屏并將該頁面截圖上傳到MIS系統,若是導入的設計圖則需要開發人員在MIS端輸入頁面標識符;
1.數據配置
頁面導入成功后,由開發人員將數據名稱,數據變量名和數據值名稱進行綁定后,綁定后生成數據列表,供運營人員配置埋點時使用,比如開發人員在數據/狀態配置系統配置數據訂單類型,數據名稱為訂單類型,數據變量名安卓為this.orderType,iOS為self.orderType,數據值名稱為預約單,往返單,包車單,對應的變量值為0,1,2,配置完成后,運營人員在埋點配置系統看到的數據為:可配置數據訂單類型,對應的取值為預約單,往返單,包車單;
2.狀態配置
狀態配置為指定在何種情況下進行埋點值的匹配和記錄,MIS系統默認提供兩種類型的可選狀態,包括通用狀態和方法執行狀態,通用狀態包括控件交互,頁面交互和視圖交互狀態,方法執行狀態為指定的方法或函數的執行狀態;
2.1控件交互
控件交互包括點擊事件,長按手勢,拖動手勢,滑動手勢,縮放手勢,表示用戶對APP進行交互的狀態,比如下單頁面,有三個tab,對應訂單類型中的預約單,往返單,包車單,點擊相應的tab后展現不同的下單界面,則運營人員在配置狀態時為,設置控件交互下的點擊事件狀態,當訂單類型為預約單記錄埋點值click_reserve_order,即當有點擊事件發生時,檢測訂單類型是否發生變化,若發生變化且新值為預約單,則記錄埋點值click_reserve_order;
2.2頁面交互
頁面交互狀態主要用來記錄PV埋點,包括頁面進入,頁面退出,在MIS系統可直接配置頁面進入和頁面退出分別對應的埋點值,比如在訂單詳情頁,配置頁面進入狀態下的埋點值為order_detail_enter,頁面退出狀態下的埋點值為order_detail_leave,埋點SDK在監控導航棧變化的時候,當導航棧新增內容時判斷當前頁面是否是訂單詳情頁,若是,則記錄埋點order_detail_enter,頁面退出的埋點同理;
2.3視圖交互
視圖交互狀態包括普通視圖,彈窗兩種,普通視圖為當前頁面上添加或展現的視圖,彈窗則為Window上添加或展現的視圖,在設置視圖交互狀態時還需指定視圖的名稱,視圖的名稱以視圖的類名來標識,如果是非自定義的視圖,不同的彈窗其類名是相同的,這種情況下視圖標識符取類名加彈窗上的標題文本,比如點擊查看計費詳情按鈕,會彈出計費詳情頁面,其狀態配置為:在普通視圖狀態時,當視圖名稱為計費詳情頁時,記錄埋點值click_price_detail_view,需要注意的是,此處的計費詳情頁也屬于數據配置,需要由開發人員事先綁定數據值后再提供給運營人員,計費詳情頁會綁定標識名稱,即類名PriceDetailView;
2.4方法執行
方法執行狀態用來表示某種操作的進行,以頁面中的指定方法開始執行和結束執行為依據,比如,當用戶請求行程預估價格時,記錄埋點值request_estimate_price,請求預估價格失敗時記錄埋點值request_estimate_price_failed.在這個情況下,首先由開發人員將請求行程預估價格與類中的方法requestEstimatePrice()進行綁定,之后,運營人員在MIS端配置埋點:在方法執行-請求行程預估價格-開始狀態時,記錄埋點值request_estimate_price,在方法執行-請求預估價格-結束狀態時,當返回值為false時,記錄埋點值request_estimate_price_failed,方法執行默認提供開始和結束兩個子狀態,對應到埋點SDK端即hook的時候,在原方法執行前注入埋點代碼和原方法執行后注入埋點代碼;
二、客戶端埋點SDK
客戶端埋點SDK包含的功能和流程如下:
1.與MIS系統的連接和信息傳輸
埋點SDK實現在DEBUG模式下搖一搖上傳當前頁面截圖到MIS端,并在上傳之前判斷是否與MIS已建立連接,若未建立連接則調用接口上傳連接信息至MIS系統;
2.數據變量值的讀取和匹配
對MIS端下發的埋點配置表中的變量在狀態條件滿足時進行匹配,運行時讀取值的方法:iOS端采用KVC的方式,Android采用反射的方式;
3.狀態的監控
3.1控件交互狀態的監控
通過hook控件的響應事件來進行監控,對于點擊事件,hook系統的點擊事件方法,當該方法執行時表示點擊事件發生,此時讀取埋點配置表中該狀態下的數據列表,對數據值進行匹配,根據匹配結果記錄埋點值,手勢事件的監控同理;
3.2頁面交互狀態的監控
對系統的導航棧進行監控,若導航棧內的頁面發生變化,即代表頁面發生了跳轉,根據導航棧內頁面是增加還是減少來判斷是頁面進入或是頁面退出;
3.3視圖交互狀態的監控
對當前視圖或Window視圖的所有子視圖列表進行監控,若列表發生增減,即代表視圖發生了變化,根據發生變化的視圖標識符來進行埋點匹配;
3.4方法執行狀態的監控
讀取MIS系統下發的埋點配置表中指定的狀態方法名,對所有指定的方法進行hook操作,hook時根據子狀態是開始還是結束來判斷hook的操作是在原方法執行前生效還是執行后生效,另外,hook方法時同時獲取方法的入參和出參,供埋點的子狀態下數據匹配時使用。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海賽可出行科技服務有限公司,未經上海賽可出行科技服務有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011084491.4/1.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





