1 埋點驗證方式
研發:IDE的控制台中,SDK輸出上報日誌
測試:QT後台提供“埋點驗證”工具
業務:QT後台中,提供的“分析”模組可以搭建業務指標,需要驗證計算結果是否符合商務邏輯
上述的具體操作如下。
1.1 IDE控制台輸出埋點日誌
1.1.1 Android
可通過UMConfigure.setLogEnabled(boolean)介面控制LOG的輸出。
注意: App正式上線前請關閉SDK運行調試日誌。避免無關Log輸出。
日誌開關
可以通過調用如下方法控制SDK運行調試日誌是否輸出,預設情況下SDK運行調試日誌關閉。需要使用者手動開啟。
/**
* 設定組件化的Log開關
* 參數: boolean 預設為false,如需查看LOG設定為true
*/
UMConfigure.setLogEnabled(true);注意: 如果查看初始化過程中的LOG,一定要在調用初始化方法前將LOG開關開啟。
日誌如下:

日誌等級
日誌分為四種等級,方便使用者查看:
Error(列印SDK整合或執行階段錯誤資訊)。
Warn(列印SDK警告資訊)。
Info(列印SDK提示資訊)。
Debug(列印SDK調試資訊)。
1.1.2 iOS
iOS中,日誌模組為獨立的外掛程式,需要整合後才可以使用。
日誌外掛程式匯入
pod匯入
pod 'UMCCommonLog'本地匯入
選擇SDK功能組件並下載,解壓.zip檔案得到相應組件包(UMCommonLog.framework,UMCommonLog.bundle)。
2、XcodeFile —> Add Files to "Your Project",在彈出Panel選中所下載組件包->Add。(註:選中“Copy items if needed”)


日誌開關
通過UMCommon.framwork的標頭檔UMConfigure.h介面API開啟日誌
介面:
/** 設定是否在console輸出sdk的log資訊.
@param bFlag 預設NO(不輸出log); 設定為YES, 輸出可供調試參考的log資訊. 發布產品時必須設定為NO.
*/
+ (void)setLogEnabled:(BOOL)bFlag;樣本:
#import <UMCommon/UMCommon.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//開發人員需要顯式的調用此函數,日誌系統才能工作
[UMCommonLogManager setUpUMCommonLogManager];
[UMConfigure setLogEnabled:YES];//設定開啟日誌
[UMConfigure setCustomDomain:@"https://www.umeng.com" standbyDomain:nil];//設定網域名稱
[UMConfigure initWithAppkey:@"Your appkey" channel:@"App Store"];
}日誌如下:

日誌等級
舉例:如果使用者傳入的AppKey為空白的話,列印日誌如下圖:

2018-02-08 20:19:44: 指當前的列印的時間;
UMengCommon: 指組件化SDK(UMCommon.framework)的名字;
<1.4.3>: 指組件化SDK(UMCommon.framework)的版本號碼;
(Error): 指日誌等級是Error的日誌;
[CIE10001]: 指日誌的FAQ的代號,也可通過FAQ文檔找到對應的解決方案;
使用者傳入的AppKey不合法,請到官網申請AppKey,以免影響自己App的統計資料。: 指提示開發人員的錯誤資訊,協助開發人員找到錯誤原因。
1.1.3 小程式
日誌開關
aplus.aplus_queue.push({
action: 'aplus.setMetaInfo',
arguments: ['DEBUG', true]
});進入IDE開啟調試工具中的console選項,即可看到如下圖所示的日誌上報

1.1.4 Web
日誌開關
aplus.aplus_queue.push({
action: 'aplus.setMetaInfo',
arguments: ['DEBUG', true]
});日誌如下:

1.2 QT後台“埋點驗證”工具
埋點驗證位置如下:
1.2.1 APP驗證
Android
Android目前APP埋點驗證方式目前支援兩種方式分別為掃碼驗證與 API驗證

1.1 掃碼驗證
整合app時,在manifest.xml檔案中找到響應android.intent.action.MAIN的activity(也就是應用可以被外部喚起的第一個Activity),加上如下代碼,讓應用能被指定串連scheme喚起。
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="atm.你的appkey" />
</intent-filter>1、請使用單獨intent-filter,和其他intent-filter並列,不要將上述代碼填入其他intent-filter裡; 2、請將“你的appkey”替換成你真實appkey,下同;
在模組中輸入"atm.你的appkey",產生二維碼,並使用瀏覽器掃描



用瀏覽器掃碼後,會開啟一個網頁,點擊“開始埋點測試(內網有效)”

點擊後,埋點驗證模組會自動跳轉到下述頁面

1.2 API驗證
點擊API驗證選項,在紅框處填寫您自訂的DebugKey,填寫完後點擊下一步

點擊下一步後會產生相關程式碼片段,將其貼入工程初始化方法處

...
QtConfigure.preInit(this, Constant.DEFAULT_APPKEY, Constant.DEFAULT_CHANNEL);
//如果提示QtConfigure不存在,請改為UMConfigure
QtConfigure.setDebugKey("13062007216102_Rabby_Test");
...重新編譯運行應用
點擊網頁的開始驗證按鈕,即可跳轉至APP驗證頁面對埋點進行驗證

iOS
配置喚起碼
添加您的 URL Scheme 到專案中,URL Scheme 位於專案設定 target -> 選項卡 Info - > URL Types。填入的scheme:atm.你的appkey。在AppDelegate中調用函數[MobClick handleUrl:url]來接收 URL
- (BOOL)application:(UIApplication *)application openURL:(nonnull NSURL *)url options:(nonnull NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
if ([MobClick handleUrl:url]) {
return YES;
}
return YES;
}在模組中輸入"atm.你的appkey",產生二維碼,並使用瀏覽器掃描



用瀏覽器掃碼後,會開啟一個網頁,點擊“開始埋點測試(內網有效)”

點擊後,埋點驗證模組會自動跳轉到下述頁面

Web
將需要驗證的網頁連結填入輸入框,點擊“產生驗證地址”

根據需求進行掃碼/點選連結

點擊pc端連結後,瀏覽器會開啟新的tab,展示您輸入的URL連結內容,您在這裡“埋點觸發點位”,返回“埋點驗證”可以查看即時日誌。

小程式

將頁面上的“miniappDebugId”填寫進“啟動參數”
以微信小程式為例,在IDE裡添加參數的樣本如:
1.1. 首先請在此處選擇「添加編譯模式」;1.2. 添加以上代碼至「啟動參數」中;1.3. 點擊確定。
1.2.2 日誌驗證
在app、mini或者qt產生的Web頁面上觸發點位,對應的日誌就會顯示在這裡。具體哪些內容,看什麼地區見《2 埋點驗證內容》
2 埋點驗證內容
2.1 埋點觸發上報日誌說明
埋點方案如下:

研發埋點後,觸發一個事件類型為“點擊”“曝光”“自訂”事件的日誌如下:
{
使用者帳號;
裝置ID;
系統屬性;
全域屬性;
事件:
{
事件編碼;
事件屬性;
用戶端時間戳記;
所在頁面;
應用使用時間長度;//只有應用退出事件才有
}
}觸發一個事件類型為“頁面瀏覽”事件的日誌如下:
{
使用者帳號;
裝置ID;
系統屬性;
全域屬性;
事件:
{
事件編碼=“$$_page_start”或者“$$_page_end”
事件屬性;
用戶端時間戳記;
所在頁面=頁面編碼
頁面訪問時間長度;//只有頁面退出事件才有
}
}使用者屬性的上報,是使用一個事件類型為“自訂”事件的日誌上報的:
{
使用者帳號;
裝置ID;
系統屬性;
全域屬性;
事件:
{
事件編碼=$$_user_profile
事件屬性=使用者屬性
用戶端時間戳記;
}
}2.2 使用者帳號&裝置ID驗證
這裡會展示日誌所攜帶的使用者帳號資訊和裝置ID資訊
2.3 使用者屬性驗證
上報一個事件編碼為“$$_user_profile”的事件,其事件屬性即為使用者屬性
2.5 全域屬性驗證
全域屬性列下的即為全域屬性,設定後每個事件都會攜帶,除非調用清空介面


2.5 頁面事件驗證

頁面編碼與事件編碼相等,且和埋點方案一致,即為頁面事件。其中:
app端的頁面事件在頁面退出時上報。
小程式端的頁面事件,如果為自動埋點在頁面退出時上報。如果為手動埋點在頁面事件被調用時上報。
Web的頁面事件的事件編碼都為頁面事件被調用時上報。
2.6 其他事件驗證
事件編碼與頁面編碼與埋點方案一致即可。
2.7 預置事件驗證
預置事件的事件編碼是固定,具體可見預置事件列表。