需求
在Java后端登錄處埋點,獲取的事件屬性包括:是否成功,登錄方式以及神策預置屬性。並進行用戶ID的打通,使用神策接口把用戶匿名ID和登錄ID進行打通。
什么是用戶ID打通?
用戶有時會再注冊或登錄之前,會在頁面進行一些操作,此時會獲取一個匿名ID(設備ID或其他)作為用戶標識;在用戶登錄后,會用登錄ID作為用戶標識;在用戶ID打通后,也就是匿名ID和登錄ID成功關聯后,這兩個Id發生的所有行為都會被認為是同一個用戶實體發生的,再進行用戶相關分析的時候就會算作一個用戶的行為。
事件設計
作為一個開發人員,在開始埋點之前,需要一份詳細的事件設計表,這樣才可以根據真實的需求來操作。而事件設計表從哪里來呢?這就需要運營和產品人員的通力合作了。
什么是事件?

以上是登錄后端埋點的樣例,從圖中我們可以了解到,事件就是我們埋點的操作對象(比如登錄時埋點,或者前端點擊時埋點)。事件設計需要定義操作動作(確定觸發時機,根據觸發時機定義事件名),確定事件屬性(我們需要獲取的數據)和屬性值(屬性的值以什么形式顯示)。
實現
引入SDK
如果是maven項目,可以直接在pom.xml文件中引入依賴信息即可。
<dependency> <groupId>com.sensorsdata.analytics.javasdk</groupId> <artifactId>SensorsAnalyticsSDK</artifactId> <version>3.1.6</version> </dependency>
初始化SDK
使用ConcurrentLoggingConsumer初始化SDK,這樣就可以將數據輸出到服務器,日志文件每天一個,觸發一次事件,就會在日志文件中多一個json格式的數據。
服務器配置信息格式有一定的規定,可參考神策官網:https://www.sensorsdata.cn/manual/java_sdk.html
SensorsAnalytics sa = null; try { sa = new SensorsAnalytics( // new SensorsAnalytics.ConcurrentLoggingConsumer("F:/學習資料/log/access.log")); new SensorsAnalytics.ConcurrentLoggingConsumer("http://tuiying.datasink.sensorsdata.cn/sa?project=default_yhtoc&token=edd25955ac38cd3d")); } catch (IOException e) { e.printStackTrace(); }
如果想目睹日志文件的風采,可以將數據接收地址換成自己本地的文件路徑,並調用flush()方法強制落盤。這樣就可以將日志文件輸出到自己的本地。
登錄處埋點
try{ //將設備號作為用戶匿名Id String anonymousId = memberVo.getDeviceCode(); sa.track(anonymousId, false, "login"); // 用獲取戶登錄id Object object = result.getResultData(); Map entry = (Map)object; String registerId = (String) entry.get("memberCode"); // 用戶注冊或者登錄,將用戶真實 ID 與 匿名 ID 關聯 sa.trackSignUp(registerId, anonymousId); Map<String, Object> properties = new HashMap<String, Object>(); //登錄是否成功 if(result.getResultCode().equals("0")){ properties.put("isSuccess", true); } else{ properties.put("isSuccess", false); } //登錄類型 if(memberVo.getPhoneType() == "0"){ properties.put("loginType", "android"); } else{ properties.put("loginType", "ios"); } //調用接口track,用於記錄事件,將用戶id,事件名稱,以及獲取到的屬性傳入 sa.track(registerId , true, "login", properties); }catch(InvalidArgumentException e){ e.printStackTrace(); } // 程序結束前,停止神策分析 SDK 所有服務 sa.shutdown();
成功演示

埋點實現后,我們就可以在神策平台結合指定的埋點主題進行相應的數據分析,而且可以對同一主題收集到的數據進行多類型,多維度的解析。
————————————————
版權聲明:本文為CSDN博主「木子松的貓」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/ldb987/java/article/details/84291972
