手把手教你如何分析華為 Ads Kit 日志


1. 獲取日志

方式一:通過手機中【文件管理】App,找到日志,拷貝出來。拷貝路徑:

手機【文件管理】App > 內部存儲 > Android > data > com.huawei.hwid > files > Log > HiAdKitLog.log

方式二:手機連上電腦,通過 adb 命令把手機中的日志拉出來, “./”表示存放在當前路徑。

adb pull /sdcard/Android/data/com.huawei.hwid/files/Log/HiAdKitLog.log ./

如果沒有找 HiAdKitLog.log,那么需要確認一下 HMS Core 中是否允許寫入日志,路徑如下:

設置 > 應用 > 應用管理 > HMS Core > 權限 > 存儲,設置為開啟

2. 日志解讀

很多時候由於種種原因無法展示廣告,通過抓取的客戶端日志,可以分析到一些信息,從而快速定位到問題,下面我們通過日志例子詳細講解。分析廣告請求的消息體和響應信息。將關鍵字 HiAd 的日志過濾出來,尤其關注 request data 和 response data 的日志內容,如下所示:

request data 和 response data 的內容都是 JSON 格式,為了方便觀看,可自行用工具格式化一下。

2.1 廣告請求信息 request data 解讀

{
"adRestrict":0,                       // 兒童保護,0表示不限制廣告推送,1表示限制廣告推送,-1表示未設置 
     "rtenv":0,
 "appsdkversion":"13.4.39.300",
     "app":{
        "mediaGpsOn":0,
        "name":"賽幾探險記",
        "pkgname":"com.igame.njmy.sjtxjrpk.huawei",
        "version":"1.0.0"
    },
    "clientAdRequestId":"118302ea-b7e8-4157-8870-ad498c9ff676",
    "device":{
        "aaid":"******",
        "adsLoc":0,
        "agCountryCode":"CN",
        "androidid":"******",
        "brand":"HUAWEI",
        "buildVersion":"WAS-AL00 8.0.0.358(C00)",
        "clientTime":"2021-06-02 16:27:21.314+0800",
        "dpi":480,
        "emuiVer":"EmotionUI_8.0.0",
        "freeDiskSize":41043329024,
        "freeSdcardSize":41022357504,
        "gpsOn":1,
        "height":1920,
        "hmsGpsOn":1,
        "isTrackingEnabled":"******",
        "language":"zh",
        "localeCountry":"CN",
        "maker":"HUAWEI",
        "model":"WAS-AL00",
        "oaid":"******",
        "os":"android",
        "pxratio":"3.0",
        "roLocale":"ZH-HANS-CN",
        "roLocaleCountry":"CN",
        "routerCountry":"CN",
        "script":"Hans",
        "totalDiskSize":56478384128,
        "totalSdcardSize":56457412608,
        "type":4,
        "udid":"******",
        "useragent":"******",
        "uuid":"******",
        "vendor":"ALL",
        "vendorCountry":"CN",
        "verCodeOfAG":"110202302",
        "verCodeOfHms":"50300312",
        "verCodeOfHsf":"110002200",
        "version":"8.0.0",
        "width":1080
},
    "multislot":[
    {
            "h":483,                  // 請求廣告素材的高(像素)
            "w":3240,                  // 請求廣告素材的寬(像素)
            "adtype":8,                // 請求廣告類型,8--Banner,  7--激勵視頻,3--原生,1--開屏,12--插屏
            "bsrSet":1,
            "height":1920,                  // 手機的屏幕高(像素)
            "isSmart":0,
            "slotid":"testw6vs28auh3",                  // 廣告位ID
            "test":0,
            "width":1080        // 手機的屏幕寬(像素)
        }
    ],
    "network":{
        "cellInfo":"******",
        "type":2
    },
     "parentCtrlUser":-1,
    "pdToOther":0,
    "ppsStore":"******",
    "reqPurpose":1,
    "scrnReadStat":0,
    "sdkversion":"3.4.41.303",
    "version":"3.4"
}

2.2 廣告請求響應信息 response data 解讀

1)請求失敗日志

{
    "adPreloadInterval":0,
"cost":"6,4,0,4,0,0,1,4,1",
    "dsp1cost":0,
    "dspcost":0,
    "multiad":[
        {
            "brsetting":"N",
            "retcode30":204,                // 響應碼, 204表示請求成功,但沒有廣告返回。
            "slotid":"testw6vs28auh3"             // 廣告位ID
         }
    ],
    "retcode":204,
    "totalCacheSize":800
}

2)請求成功日志

{
"adPreloadInterval":0,
    "cost":"93,83,0,49,4,0,0,49,1",
    "dsp1cost":0,
    "dspcost":0,
    "multiad":[
        {
            "brsetting":"N",
            "content":[
                {
                    "clickActionList":[
                        3,
                        4,
                        1
                    ],
                    "contentid":"34.100237265421",
                    "taskinfo":"TASKINFO_UNIQUE_2||mnO56RBXzu+EYW0CanS7vFlQgo+zK+R/Dzxz5q9ovCjPQqzEZunrF0QIvR1QvpUq6qVWZ3h6xsgibYNQ4NnUpAlDJBN9jjpHSMLW0ib9a4hEmm23dvplQSKAlZ/9DcXWmA1FMPSBBWG/kLX3tVLdfV4In2IiLLqu1NbL4iVZDA5r6NYxzBkFMKZ+9meU7NEWftxZ31b1VZMJgcx7pWF/kPpMA7Mi",
                     "creativetype":2,
                    "ctrlSwitchs":"100011101002100101",
                    "dispTime":0,
                    "endtime":1622622297764,
                    "filterList":[
                        3
                    ],
                    "interactiontype":5,
                    "landPageWhiteList":"contentcenter-drcn.dbankcdn.com,lp.pinduoduo.com,h5hosting-drcn.dbankcdn.cn",
                    "landingTitle":0,
                    "logo2Pos":"ll",
                    "metaData":"******",
                    "monitor":"******",
                    "paramfromserver":"******",                    "sequence":0,
                     "showAppLogoFlag":1,
                    "skipTextPos":"tr",
                    "spare":0,
                     "starttime":1622532297764,
                    "taskid":"34.100237265421",
                    "useGaussianBlur":1,
                    "webConfig":"******"
                }
            ],
            "retcode30":200,                // 響應碼, 請求成功
            "slotid":"f3tnev5vy6"                 // 廣告位ID
        }
    ],
    "retcode":200,
    "totalCacheSize":300
}

3. 日志分析

  1. 在請求數據中,可以通過 multislot 查詢請求廣告素材的寬高,廣告類型,廣告 id 來判斷是否符合請求標准。

  2. 在返回數據中,可以通過 retcode30 查詢返回結果。下列是常見返回錯誤碼:

錯誤碼取值 含義
1001 api 版本不在廣告支持范圍內
-1 http 請求失敗,非業務失敗
200 請求成功
201 廣告請求,先返回配置
204 請求報文正確,沒有廣告返回
403 廣告請求的接口版本號錯誤
407 廣告請求的 SDK 版本號缺失
408 廣告請求的 SDK 版本號錯誤
421 廣告位 ID 缺失
424 廣告位 ID 與應用不匹配
425 該廣告位 ID 不能請求正式廣告
498 無效廣告位,廣告位與應用包名不匹配。
499 其他錯誤
500 系統內部錯誤
602 返回 已經失效的素材 id 列表
700 原生廣告未請求到,請查看日志
701 原生廣告未請求到,請查看日志
702 原生廣告正在請求中,不能重復發起請求
703 快應用的廣告位 id 非法
704 橫幅廣告過期
705 橫幅廣告任務下架
800 貼片廣告未請求到,請查看日志
801 貼片廣告正在請求中,不能重復發起請求
802 貼片廣告的廣告位 ID 列表為空
804 傳入的參數格式非法
900 激勵廣告未請求到,請查看日志
901 激勵廣告正在請求中,不能重復發起請求
902 激勵廣告的廣告位 ID 列表為空
1000 插屏廣告未請求到,請查看日志

4. 總結

上述日志中,國內快應用 Banner 廣告只支持1080170廣告尺寸。該示例傳的是4833240尺寸,不符合廣告要求,所以 retcode30 返回204,請求成功,無返回。要修改 Banner 為 1080*170的 Banner 尺寸進行測試。所以我們拿到日志后在 request data 里主要分析 multislot 中廣告素材相關的請求參數和 response data 中 retcode30 錯誤碼來配合修改廣告代碼即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM