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





