[發明專利]一種自動埋點的方法、裝置、介質和電子設備在審
| 申請號: | 201910853271.4 | 申請日: | 2019-09-10 |
| 公開(公告)號: | CN110737588A | 公開(公告)日: | 2020-01-31 |
| 發明(設計)人: | 劉豐愷 | 申請(專利權)人: | 北京字節跳動網絡技術有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F8/41;G06F8/73 |
| 代理公司: | 11604 北京睿馳通程知識產權代理事務所(普通合伙) | 代理人: | 張文平 |
| 地址: | 100041 北京市石景山區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 點代碼 源代碼 代碼生成器 解析結果 點信息 電子設備 目標數據 網絡應用 雙平臺 拓展性 元信息 注解 編譯 標注 解析 | ||
本發明提供了一種自動埋點的方法、裝置、介質和電子設備,該自動埋點的方法包括:接收針對目標數據的埋點請求的埋點信息;對注解器標注的埋點信息進行解析,得到解析結果;根據解析結果,通過代碼生成器生成埋點代碼;獲取網絡應用的源代碼,在源代碼中添加埋點代碼,得到編譯后的代碼。本發明提供的自動埋點方法,不僅能夠支持Android、iOS雙平臺的Flutter元信息埋點功能,還能夠基于代碼生成器生成的埋點代碼進行自動埋點,增強了該自動埋點方法的可拓展性。
技術領域
本發明涉及計算機技術領域,具體而言,涉及一種自動埋點的方法、裝置、介質和電子設備。
背景技術
隨著移動應用開發技術的發展,推出了越來越多開源的移動應用開發框架。Flutter是Google推出并開源的移動應用開發框架,主打跨平臺、高保真、高性能。開發者可以通過Dart語言開發App,一套代碼同時運行在iOS和Android平臺。Flutter提供了豐富的組件、接口,開發者可以很快地為Flutter添加native擴展。
在現有技術中,還涉及到Codegen技術,Codegen是一個代碼生成工具,目的是減少樣板代碼的編寫,提供開發效率。在程序開發之中有使用自動代碼生成代碼生成器,并通過代碼生成器進行便捷操作。在Flutter所使用的Dart語言之中,對代碼生成技術的使用也很常見。因為Dart對Runtime反射的支持有限,導致了Dart側代碼生成成為了一種常見的技術方案。
現有的埋點與展現技術也得到發展。現有的技術,所謂埋點就是在應用中特定的流程收集一些信息,用來跟蹤應用使用的狀況,后續用來進一步優化產品或是提供運營的數據支撐,包括訪問數、訪客數、停留時長、頁面瀏覽數和跳出率。上述信息的收集可以大致分為兩種:頁面統計,統計操作行為。因此,現有的埋點操作方法基本上是比較類似的,現有的埋點操作方法,不僅涉及到大量重復的工作,還有可優化的邏輯,此外,將埋點的重復操作放置于源碼之中可能會干擾源代碼的可讀性。
因此,在長期的研發當中,發明人對如何進行自動埋點進行了大量的研究,提出了一種自動埋點的方法,以解決上述技術問題之一。
發明內容
本發明的目的在于提供一種自動埋點的方法、裝置、介質和電子設備,能夠解決上述提到的至少一個技術問題。具體方案如下:
根據本發明的具體實施方式,第一方面,本發明提供一種自動埋點的方法,包括:
接收針對目標數據的埋點請求的埋點信息;
對注解器標注的所述埋點信息進行解析,得到解析結果;
根據所述解析結果,通過代碼生成器生成埋點代碼;
獲取網絡應用的源代碼,在所述源代碼中添加所述埋點代碼,得到編譯后的代碼。
可選的,在所述對注解器標注的所述埋點信息進行解析之前,所述方法還包括:
通過注解器對所述埋點信息進行標注。
可選的,所述通過注解器對所述埋點信息進行標注包括:
所述注解器通過Meta-Data對所述埋點信息進行標注,和/或,
所述注解器通過Meta-Data對與所述埋點信息關聯的展現信息進行標注。
可選的,所述注解器是在函數中預先編寫的。
可選的,在所述在所述源代碼中添加所述埋點代碼之前,所述方法還包括:
對網絡應用的所述源代碼和所述埋點代碼進行關聯存儲。
可選的,在所述源代碼中添加所述埋點代碼,得到編譯后的代碼之后,所述方法還包括:
根據所述編譯后的代碼生成可執行程序,并運行所述可執行程序。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京字節跳動網絡技術有限公司,未經北京字節跳動網絡技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910853271.4/2.html,轉載請聲明來源鉆瓜專利網。





