Android界面上的空間被用戶點擊,需要記錄下點擊控件的名稱并保存此信息。

創(chuàng)新互聯(lián)是一家專業(yè)提供文成企業(yè)網(wǎng)站建設,專注與成都網(wǎng)站設計、網(wǎng)站制作、H5頁面制作、小程序制作等業(yè)務。10年已為文成眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進行中。
Android界面被打開或關閉,也需要記錄此信息
最好能自動化完成,不需要修改大量代碼,最好能定制
設計思路大體如下:
設計一個基類BaseActivity,它是繼承自Activity,但是覆寫了Activity的幾個方法(后面會詳細說明)。
利用廣播來統(tǒng)一管理用戶行為的Log信息。
數(shù)據(jù)積累到一定量,將用戶行為數(shù)據(jù)發(fā)送到后臺服務器。
BaseActivity基類的設計
利用Android事件分發(fā)機制,我們自定義的基類BaseActivity繼承自Activity并重寫Activity的dispatchTouchEvent方法(為什么要這么做?還請參考我的上一篇博客),以及重寫Activity的所有生命周期方法。
重寫Activity的生命周期以及事件分發(fā)方法
重寫Activity生命周期的onStart()和onStop(){或者onDestory,這個根據(jù)自己的選擇確定},來完成對界面開啟和關閉的埋點記錄。事件分發(fā)方法來檢測ACTION_UP這個事件(也就是手指觸動觸摸屏抬起的那個事件),二者通過本地廣播,將onStart或onStop這些事件廣播出來并被接收處理。
1 public class BaseActivity extends Activity {
2 protected void onStart(){
3 super.onStart();
4 // 使用本地廣播,高效更安全
5 LoacalBroadcastManager bcManager = LocalBroadcastManager.getInstance(this);
6 Intent intent = new Intent(ACTIVITY_START);//自定義的ACTIVITY_START
7 bcManager.sendBroadcast(intent);
8 }
9 protected void onStop(){
10 super.onStop();
11 LoacalBroadcastManager bcManager = LocalBroadcastManager.getInstance(this);
12 Intent intent = new Intent(ACTIVITY_STOP);//自定義的ACTIVITY_STOP
13 bcManager.sendBroadcast(intent);
14 }
15 //.......可擴展
16 protected boolean dispatchTouchEvent(MotionEvent e){
17 if (e.getAction() == MotionEvent.ACTION_UP){
18 LocalBroadcastManager broadcastManager = LocalBroadcastManager.getInstance(this);
19 Intent intent = new Intent(VIEW_CLICK);
20 intent.putExtra(VIEW_CLICK, e);
21 broadcastManager.sendBroadcast(intent);
22 }
23 }
wireshark截包條件是要求包一定要過你截包機器的網(wǎng)口,這個要求 1)包是跟你機器通訊的 或者 2)是hub或者是有鏡像口的交換機 另外,由于很多機器有一些虛擬的網(wǎng)卡,你要選擇需要能夠截到包的網(wǎng)卡。然后,除非是發(fā)送給你的,要打開混雜模式, 還有,要保證winpcap驅動正常工作。如果還不能截包,問題就麻煩了。 沒什么詳細步驟的,你對截包的原理了解了,自然知道問題在哪里了。
一個好的產(chǎn)品離不開數(shù)據(jù)分析,在手機 APP 中,數(shù)據(jù)分析極致化需要細致到某個時刻列表曝光的了哪幾個 Item。
2022 年了,基本上目前 Android 上可以滑動的復雜列表都是 RecyclerView 或者其擴展,這里分享一個封裝的思路。
如果非要細化細節(jié):
各種方案核心都差不多,最關鍵的就是通過 LayoutManager 獲取屏幕內第一個可見和最后一個可見 item position,上報其區(qū)間內的 Item。這里簡稱這個邏輯為 檢查上報邏輯 。
但是觸發(fā)時機有所不同,通常如下方案一和二所述,當然除了方案一和方案二外,還有一些別的方案,比如監(jiān)聽 RecyclerView 的布局樹變化觸發(fā) 檢查上報邏輯 等方案。
可以發(fā)現(xiàn)方案二相比方案一更有利于減少各種回調的注冊和周期的控制,下文會在方案二的基礎上,闡述用法和相關實現(xiàn)思路。
倉庫地址: RecyclerViewExposure
這里會主要說明一些主要邏輯,需要完整的邏輯可以 fork 倉庫 查看
思路來自于 lifecycle 的設計,這里主要是想讓 Activity/Fragment 提供可見和不可見的狀態(tài)變化給外部訂閱
對 List Item 的收集處理是 RecyclerViewExposure 最核心的收集數(shù)據(jù)邏輯,這里針對在 Activity 的使用作為例子。上文已經(jīng)講述如何做一個 PageLifeCycleHolder 為其他組件提供頁面可見狀態(tài),下文將直接使用。
本文名稱:android埋點,android埋點sdk
網(wǎng)站鏈接:http://chinadenli.net/article7/dsgohoj.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供關鍵詞優(yōu)化、云服務器、外貿(mào)建站、外貿(mào)網(wǎng)站建設、微信公眾號、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)