Android开发经验谈Android开发Android知识

安卓view曝光统计实现方案

2019-04-16  本文已影响30人  编程小石头666

安卓端有效曝光统计步骤

1,什么算有效曝光

2,监听view的移入和移出事件

安卓这边有具体的监听事件可以监听到view进入和移出屏幕的事件。


image.png

在监听到view进入屏幕这一事件的同时,我们记录下当前时间戳,然后在view移出屏幕时,再获取下时间戳,用这个时间戳减去进入屏幕的时间戳,就可以求出view在屏幕的停留时间。

这里有一个特殊的情况。当用户进入商城,切换tab或者进入商品详情页时,view并没有从屏幕移出,而是隐藏不可见了。这种特殊情况的统计,就要用到另外一个监听事件了。

用户行为 怎么监听
进入商城->切换tab 计算当前屏幕里所有view从用户进入商城到切换tab的时间差
进入商城->进入详情页 计算当前屏幕里所有view从用户进入商城到进详情的时间差
进入商城->点home键 计算当前屏幕里所有view从用户进入商城到点home键的时间差
进入商城->熄屏 计算当前屏幕里所有view从用户进入商城到点home键的时间差

3,怎么把数据绑定到view

把数据绑定到view里,需要自定义系统view,给系统view添加存储数据的功能。
这里以组件view和组件里的元素view为例

上面把自定义view写到布局里以后,就需要在代码里设置数据了。设置数据的方法如下:

image.png

图中的itemView就是我们的ExLinearLayout,
tvName和tvIntroduction就是我们的ExTextView。这样就可以把数据绑定到view里了。

4,怎么拿到view里的数据

上面第三步已经把数据绑定到view里了,我们拿数据就比较方便了。
我们只需要在view移出屏幕,或者view进入后台不可见时获取当前时间戳和view刚进入屏幕时的时间戳求差,大于2秒时,就取view里的数据。


image.png
image.png

我们这里收集数据是还要判断view从进屏幕到出屏幕这个过程中,有没有显示超过50%,没有超过50%的也不算有效曝光的。这样我们就可以拿到所有的组件及组件里元素的数据。


image.png
如我们拿到商品组件的数据如下
{
    "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"
}

商品组件中的标题元素和描述元素数据如下

//商品标题元素的数据
{
    "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",
    "childe_str": "为全文"
}
//描述元素的数据
{
    "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",
    "childe_str": "baby"
}

5,怎么筛选出运营想要的有效数据

这里我们就要定义一个曝光策略字典了,这个字典通过以下几个步骤来告知我们需要统计那些数据

如我们想统计

就要定义如下曝光字典

[{
    "Page": "home",
    "element": [{
            "groupbuyBargainList ": ["title1 ", "title1 "]
        },
        {
            "banner ": ["title1 ", "imgurl "]
        }
    ]
}, {
    "Page": "mall",
    "element": [{
            "groupbuyBargainList ": ["title1 ", "title1 "]
        },
        {
            "imageList ": ["imgurl "]
        }
    ]
}]

然后我根据上面的曝光字典去过滤出运营所需要的数据,这个曝光字典是可以动态配置的。统计那些数据全部由曝光字典来定义。

安卓开发使用步骤

上一篇 下一篇

猜你喜欢

热点阅读