[發(fā)明專利]一種基于iOS應(yīng)用的輕量級解耦式埋點(diǎn)方法及裝置在審
| 申請?zhí)枺?/td> | 202011084482.5 | 申請日: | 2020-10-12 |
| 公開(公告)號(hào): | CN112230903A | 公開(公告)日: | 2021-01-15 |
| 發(fā)明(設(shè)計(jì))人: | 金小俊;趙化;李衛(wèi)麗 | 申請(專利權(quán))人: | 上海賽可出行科技服務(wù)有限公司 |
| 主分類號(hào): | G06F8/30 | 分類號(hào): | G06F8/30;G06F11/36 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 200131 上海市浦東新區(qū)自由貿(mào)*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 ios 應(yīng)用 輕量級 解耦式埋點(diǎn) 方法 裝置 | ||
本發(fā)明公開了一種基于iOS應(yīng)用的輕量級解耦式埋點(diǎn)方法及裝置,涉及數(shù)據(jù)采集分析技術(shù)領(lǐng)域,方法包括:通過維護(hù)一個(gè)JSON文件來指定埋點(diǎn)所在的類和方法,繼而利用AOP的方式在對應(yīng)的類和方法執(zhí)行時(shí)動(dòng)態(tài)嵌入埋點(diǎn)代碼。本發(fā)明通過維護(hù)一個(gè)JSON文件來指定埋點(diǎn)所在的類和方法,繼而利用AOP的方式在對應(yīng)的類和方法執(zhí)行時(shí)動(dòng)態(tài)嵌入埋點(diǎn)代碼;對于需要邏輯判斷來確定埋點(diǎn)值的場景,提供hook方法的入?yún)ⅲ约八陬惖膶傩灾底x取,根據(jù)相應(yīng)的狀態(tài)值設(shè)置不同的埋點(diǎn);具有以下優(yōu)點(diǎn):支持動(dòng)態(tài)下發(fā)埋點(diǎn)配置;物理隔離埋點(diǎn)代碼和業(yè)務(wù)代碼;插件式的埋點(diǎn)功能實(shí)現(xiàn)。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)采集分析技術(shù)領(lǐng)域,特別涉及一種基于iOS應(yīng)用的輕量級解耦式埋點(diǎn)方法及裝置。
背景技術(shù)
在發(fā)展日新月異的移動(dòng)互聯(lián)網(wǎng)時(shí)代,數(shù)據(jù)扮演著極其重要的角色。埋點(diǎn)作為一種最簡單最直接的用戶行為統(tǒng)計(jì)方式,能夠全面精確的采集用戶的使用習(xí)慣以及各功能點(diǎn)的迭代反饋等等,有了這些數(shù)據(jù)才能更好的驅(qū)動(dòng)產(chǎn)品的決策設(shè)計(jì)和新業(yè)務(wù)場景的規(guī)劃。
目前業(yè)內(nèi)最常用的埋點(diǎn)方法是代碼埋點(diǎn),代碼埋點(diǎn)的特點(diǎn)是靈活,可以在相應(yīng)的業(yè)務(wù)代碼處根據(jù)業(yè)務(wù)邏輯和變量值判斷實(shí)現(xiàn)場景化的埋點(diǎn)值記錄,但其缺點(diǎn)也尤其明顯,將埋點(diǎn)和業(yè)務(wù)代碼耦合在了一起,造成了埋點(diǎn)代碼對業(yè)務(wù)代碼的入侵,且埋點(diǎn)邏輯極易對業(yè)務(wù)邏輯造成污染。另外,對于埋點(diǎn)代碼的移除只能通過手動(dòng)刪除代碼的方式來實(shí)現(xiàn)。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是克服現(xiàn)有技術(shù)的缺陷,提供一種基于iOS應(yīng)用的輕量級解耦式埋點(diǎn)方法及裝置,本發(fā)明通過維護(hù)一個(gè)JSON文件來指定埋點(diǎn)所在的類和方法,繼而利用AOP的方式在對應(yīng)的類和方法執(zhí)行時(shí)動(dòng)態(tài)嵌入埋點(diǎn)代碼;對于需要邏輯判斷來確定埋點(diǎn)值的場景,提供hook方法的入?yún)ⅲ约八陬惖膶傩灾底x取,根據(jù)相應(yīng)的狀態(tài)值設(shè)置不同的埋點(diǎn);具有以下優(yōu)點(diǎn):支持動(dòng)態(tài)下發(fā)埋點(diǎn)配置;物理隔離埋點(diǎn)代碼和業(yè)務(wù)代碼;插件式的埋點(diǎn)功能實(shí)現(xiàn)。
為了解決上述技術(shù)問題,本發(fā)明提供了如下的技術(shù)方案:
本發(fā)明一種基于iOS應(yīng)用的輕量級解耦式埋點(diǎn)方法及裝置,所述裝置包括埋點(diǎn)配置JSON表和埋點(diǎn)SDK,具體埋點(diǎn)方法如下:
一、配置埋點(diǎn)信息
埋點(diǎn)配置JSON表中包含需要hook的類名class和具體的事件event信息,event中包括hook的方法和對應(yīng)的埋點(diǎn)值;通過AOP的方式物理隔離埋點(diǎn)代碼和業(yè)務(wù)代碼,避免埋點(diǎn)的邏輯侵入污染業(yè)務(wù)邏輯;埋點(diǎn)包括固定埋點(diǎn)和需要邏輯判斷的場景化埋點(diǎn),對于場景化埋點(diǎn),需要提供一個(gè)impl類來提供相應(yīng)的邏輯判斷;
二、固定埋點(diǎn)場景:
對于固定的埋點(diǎn),只需要在對應(yīng)的方法執(zhí)行時(shí)直接記錄埋點(diǎn),具體方法為利用iOS系統(tǒng)的runtime來實(shí)現(xiàn)AOP,通過MethodSwizzling機(jī)制來hook相應(yīng)的類和方法;為了便于檢測無效的埋點(diǎn),還需對hook的類和方法進(jìn)行匹配校驗(yàn),若類中沒有對應(yīng)的方法,則拋出斷言;
三、場景化埋點(diǎn):
場景化埋點(diǎn)主要為同一事件但是在多種狀態(tài)或邏輯下不同埋點(diǎn)的情況,本發(fā)明通過提供一個(gè)protocol由埋點(diǎn)impl類來實(shí)現(xiàn),根據(jù)不同的邏輯判斷,返回對應(yīng)的埋點(diǎn)值;埋點(diǎn)實(shí)現(xiàn)類的類名需要與埋點(diǎn)配置JSON中的event里的key保持一致;
四、狀態(tài)判斷:
根據(jù)狀態(tài)量來確定埋點(diǎn)值;根據(jù)訂單種類和訂單狀態(tài)來返回對應(yīng)的埋點(diǎn)值,首先定義JSON表中同名的impl類,并遵循RJEventTracking協(xié)議;
五、入?yún)⑴袛啵?/p>
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海賽可出行科技服務(wù)有限公司,未經(jīng)上海賽可出行科技服務(wù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011084482.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 基于IOS終端的離線WIFI熱點(diǎn)認(rèn)證方法和認(rèn)證系統(tǒng)
- 一種綁定iOS設(shè)備的方法、iOS設(shè)備及輔助設(shè)備
- 自動(dòng)讀取設(shè)備參數(shù)的方法和Android工控系統(tǒng)
- 一種由Unity到iOS的封裝方法及裝置
- 在iOS客戶端后臺(tái)持續(xù)運(yùn)行APP的方法及系統(tǒng)
- 一種確定IOS設(shè)備的標(biāo)識(shí)的方法及裝置
- ios應(yīng)用程序自動(dòng)安裝方法及通信裝置
- 遠(yuǎn)程連接iOS設(shè)備的方法、裝置、和設(shè)備
- 一種iOS組件的管理方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種基于多進(jìn)程的iOS兼容性自動(dòng)化測試方法與裝置
- 在線應(yīng)用平臺(tái)上應(yīng)用間通信的回調(diào)應(yīng)答方法、應(yīng)用及在線應(yīng)用平臺(tái)
- 應(yīng)用使用方法、應(yīng)用使用裝置及相應(yīng)的應(yīng)用終端
- 應(yīng)用管理設(shè)備、應(yīng)用管理系統(tǒng)、以及應(yīng)用管理方法
- 能力應(yīng)用系統(tǒng)及其能力應(yīng)用方法
- 應(yīng)用市場的應(yīng)用搜索方法、系統(tǒng)及應(yīng)用市場
- 使用應(yīng)用的方法和應(yīng)用平臺(tái)
- 應(yīng)用安裝方法和應(yīng)用安裝系統(tǒng)
- 使用遠(yuǎn)程應(yīng)用進(jìn)行應(yīng)用安裝
- 應(yīng)用檢測方法及應(yīng)用檢測裝置
- 應(yīng)用調(diào)用方法、應(yīng)用發(fā)布方法及應(yīng)用發(fā)布系統(tǒng)
- 高速高帶寬AHB總線到低速低帶寬AHB總線的雙向轉(zhuǎn)換橋
- 可拆裝換鉤頭的1輕量級的鋁制手柄及十四枚鋼鉤針組合
- 一種輕量級節(jié)點(diǎn)的數(shù)據(jù)傳輸方法、裝置、設(shè)備和介質(zhì)
- 一種輕量級節(jié)點(diǎn)的數(shù)據(jù)傳輸方法、裝置、設(shè)備和介質(zhì)
- 輕量級請求的并發(fā)處理方法及相關(guān)設(shè)備
- 一種輕量級深度卷積神經(jīng)網(wǎng)絡(luò)的FPGA實(shí)現(xiàn)方法
- 一種小區(qū)選擇方法、輕量級終端及網(wǎng)絡(luò)設(shè)備
- 授權(quán)簽名生成方法、節(jié)點(diǎn)管理方法、裝置、設(shè)備和介質(zhì)
- 輕量級桌面機(jī)械臂底座及輕量級桌面機(jī)械臂
- 輕量級機(jī)械臂束線結(jié)構(gòu)、輕量級機(jī)械臂及機(jī)器人





