日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 曝光采集:以商品 view 曝光量的统计为例

發布時間:2025/3/19 Android 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 曝光采集:以商品 view 曝光量的统计为例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文由神策數據的標桿客戶年糕媽媽的技術團隊創作。

全文將為你介紹安卓端有效曝光統計的五步驟:

  • 要確定什么樣的算有效曝光(例:在屏幕停留時間超過一個值如 2 秒)

  • 監聽到每個 view 移入和移出屏幕的事件

  • 把數據綁定到 view(view 相當于數據的載體)

  • 根據監聽事件拿到 view 里的數據

  • 根據曝光字典篩選出運營想要的有效數據

一、什么算有效曝光?

首先需要和運營同學一起確認下,一個 view 在屏幕停留的時長大于多少秒時算有效曝光。目前安卓這邊是可以拿到 view 從進屏幕到移出屏幕的時間差,暫時以 view 進入屏幕到離開屏幕的時差大于 2 秒算一次有效曝光。

二、監聽 view 的移入和移出事件

安卓這邊有具體的監聽事件可以監聽到 view 進入和移出屏幕的事件。

在監聽到 view 進入屏幕這一事件的同時,我們記錄下當前時間戳,然后在 view 移出屏幕時,再獲取下時間戳,用這個時間戳減去進入屏幕的時間戳,就可以求出 view 在屏幕的停留時間。

這里有一個特殊的情況。當用戶進入商城,切換 tab 或者進入商品詳情頁時,view 并沒有從屏幕移出,而是隱藏不可見了。這種特殊情況的統計,就要用到另外一個監聽事件了。

監聽當前 view 是否可見

同樣,安卓有提供監測 view 是否可見的監聽事件。這種情況下我們來監聽以下幾種情況(要確認下哪些用戶行為算有效曝光)。

用戶行為怎么監聽

進入商城->切換 tab

計算當前屏幕里所有 view 從用戶進入商城到切換 tab 的時間差

進入商城->進入詳情頁

計算當前屏幕里所有 view 從用戶進入商城到進詳情的時間差

進入商城->點 home 鍵

計算當前屏幕里所有 view 從用戶進入商城到點 home 鍵的時間差

進入商城->熄屏

計算當前屏幕里所有 view 從用戶進入商城到點 home 鍵的時間差


三、怎么把數據綁定到 view ?

把數據綁定到 view 里,需要自定義系統 view,給系統 view 添加存儲數據的功能。這里以組件 view 和組件里的元素 view 為例:

組件 view

這里以 LinearLayout 為例,年糕媽媽技術團隊自己寫了個 ExLinearLayout 繼承系統的 LinearLayout,然后再給我們的 ExLinearLayout 添加設置數據的方法。然后在需要統計的組件 view 的根布局使用我們自定義的 ExLinearLayout,如下:

元素 view

這里以 AppCompatTextView 為例,我們可以先自定義 ExTextView 繼承系統 AppCompatTextView,然后給我們的 AppCompatTextView 添加設置數據的方法,之后在我們的布局里使用,如在商品組件的標題和描述 view 里使用如下:

上面把自定義 view 寫到布局里以后,就需要在代碼里設置數據了。設置數據的方法如下:


如上圖中的 holder.itemView 就是我們的 ExLinearLayout, knowledge 就是我們當前條目所顯示的數據,這樣就可以把數據綁定到 view 里了。

下面再看下 recordExposure 方法具體做了什么?

我們這里做的就是把組件里的數據,封裝成我們運營想要的數據。然后把封裝好的數據綁定到 view 里。

我們這里在做數據綁定之前,需要通過曝光字典過濾下,當前組件類型是不是我們想要統計的。如果是我們想要統計的類型,才做數據綁定。

到這里我們綁定數據這一步就完成了。這也是最重要的一步。因為只有把數據成功綁定到 view 里,后面才能從 view 里取數據。

四、怎么拿到 view 里的數據?

上面第三步已經把數據綁定到 view 里了,我們拿數據就比較方便了。我們只需要在 view 移出屏幕,或者 view 進入后臺不可見時獲取當前時間戳和 view 剛進入屏幕時的時間戳求差,大于 2 秒時,就取 view 里的數據。

我們這里收集數據是還要判斷 view 從進屏幕到出屏幕這個過程中,有沒有顯示超過 50%,沒有超過 50% 的也不算有效曝光的。這樣我們就可以拿到所有的組件及組件里元素的數據。

如我們拿到商品組件的數據如下:

{

"micro_page_name": "我是主頁",

"micro_page_id": "3",

"micro_cindex": 3,

"component_name": "",

"micro_component_type": "groupbuyBargainList",

"micro_component_sindex": 1,

"exposure_content": "為全文",

"exposure_content_link": "http:\/\/m.ngmm001.com\/goods\/32702?componentName=groupbuyBargin-list",

"exposure_id": "32702"

}

拿到這些數據后,我們再做下有效曝光時間判斷。比如 view 從進入屏幕綁定數據到移出屏幕的時間差大于 2 秒,才算有效曝光,才做數據上傳。

如我們把有效的曝光數據上傳到神策數據后臺。

可以看到我們的數據就能成功上傳到神策數據了。

五、怎么篩選出運營想要的有效數據?

這里我們就要定義一個曝光策略字典了,這個字典通過以下幾個步驟來告知我們需要統計那些數據

  • 統計哪個頁面(如商城頁)

  • 統計哪些組件 view(如商品組件、banner 組件、音頻組件)

  • 統計組件里的哪些元素 view(如商品的標題、商品的價格)

如我們想統計“首頁:輪播圖組件、banner 組件、知識付費組件、商品組件”就要定義如下曝光字典:

{

? ? "page": ["*"],

? ? "event": [{

? ? ? "eventName": "exposure",

? ? ? "time": 2,

? ? ? "area": 0.5

? ? }, {

? ? ? "eventName": "click"

? ? }],

? ? "component": ["slider", "banner","knowledgeList", "goodsList"]

? }

簡單說下上面數據格式。page 字段:代表我們要統計哪些頁面,如果是 * 代表所有頁面都統計 event 字段:代表我們要統計哪些事件,如曝光事件,點擊事件。component 字段:代表我們要統計那些組件,如果是 * 就統計所有組件。

然后我根據上面的曝光字典去過濾出運營所需要的數據,這個曝光字典是可以動態配置的。統計哪些數據全部由曝光字典來定義。

安卓開發使用步驟:

  • 使用自定義的組件 view 替換根布局

  • 需要使用自定義的 ExLinearLayout、ExRelativeLayout 等替換布局中的對應的 view

  • 綁定數據到 view

  • 獲取符合條件的 view 并取數據

  • 根據曝光字典上傳數據

  • 我們以搜索頁的曝光統計為例。如我們想統計知識結果下每個條目的曝光數據:

    1.用自定義 ExLinearLayout 替換我們的根布局 LinearLayout

    2.到知識對應的 viewholder,就是能獲取到數據的地方,把數據綁定到 view

    我們只需要做這兩步,就可以輕松實現曝光的統計了。

    后面還會有結合曝光的點擊數據上傳。就是用來統計從曝光到點擊的轉化率用的。點擊統計是基于上面兩步的基礎上做的。我們要統計曝光組件點擊統計只需要在點擊的地方寫入下面代碼即可。

    原理就是把我們存儲數據的 view 傳進去,當用戶點擊時,就可以從這個 view 上拿到想要的數據了。

    作者:年糕媽媽技術團隊

    著作權歸作者所有。

    不容錯過的精彩內容

    ▼▼▼



    收藏★公眾號,及時獲取精彩內容


    關注

    神策數據

    幫助客戶實現數據驅動。


    ↙↙↙戳此,免費體驗神策分析

    “在看”,你就戳戳我??

    總結

    以上是生活随笔為你收集整理的Android 曝光采集:以商品 view 曝光量的统计为例的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。