【愚公系列】2022年02月 Django商城项目 28-商品埋点统计功能实现

举报
愚公搬代码 发表于 2022/02/02 11:31:04 2022/02/02
【摘要】 前言所谓“埋点”,是数据采集领域(尤其是用户行为数据采集领域)的术语,指的是针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。 1.埋点可分为:代码埋点、可视化埋点、无埋点代码埋点:在网页或者应用程序中中加上一些代码的,当用户触发相应行为时,进行数据上报,也就是代码埋点。可视化埋点:利用可视化交互手段,数据产品/数据分析师可以通过可视化界面配置事件,进行数据上报。无埋点:无...

前言

所谓“埋点”,是数据采集领域(尤其是用户行为数据采集领域)的术语,指的是针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。

1.埋点可分为:代码埋点、可视化埋点、无埋点

代码埋点:在网页或者应用程序中中加上一些代码的,当用户触发相应行为时,进行数据上报,也就是代码埋点。

可视化埋点:利用可视化交互手段,数据产品/数据分析师可以通过可视化界面配置事件,进行数据上报。

无埋点:无埋点是指开发人员集成采集 SDK 后,SDK 便直接开始捕捉和监测用户在应用里的所有行为,并全部上报,不需要开发人员添加额外代码。

2.埋点数据统计可分为:

客户端数据:页面点击数据,比如:tab栏的点击,某个icon的点击(各入口点击对比使用情况,统计页面点击行为的转化漏斗)。

服务端数据:安装数据,下载后安装情况;内容数据,比如某个视频内容 曝光/展示/播放数据;搜索内容。

一、商品埋点统计功能实现

1.后台统计代码

class VisitCategoryView(View):

    def get(self,request,category_id):
        # ① 获取分类id
        # ② 根据分类id查询分类,判断分类是否存在
        try:
            category = GoodsCategory.objects.get(id=category_id)
        except Exception as e:
            logger.error(e)
            return render(request,'404.html')

        # 我们需要查询 当天的,分类id的记录
        # yyyy-mm-dd
        # from datetime import datetime
        # now = datetime.now()
        # today_date = datetime.strptime(now,'%Y-%m%-%d')

        from django.utils import timezone
        today = timezone.localdate()
        try:
            gvc=GoodsVisitCount.objects.get(date=today,category_id=category_id)
        except GoodsVisitCount.DoesNotExist:
            #      我们以天为单位,如果当天有统计数据,则应该更新统计数据
            GoodsVisitCount.objects.create(
                date=today,
                count=1,
                category_id=category_id
            )
        else:
            gvc.count+=1
            gvc.save()
            # ③ 我们以天为单位,如果当天没有统计数据,则应该新增统计数据

        # ④ 返回相应
        return http.JsonResponse({'code':RETCODE.OK,'errmsg':'ok'})

2.前台请求接口代码

// 记录商品详情的访问量
detail_visit(){
    if (this.category_id) {
        var url = this.hots + '/detail/visit/' + this.category_id + '/';
        axios.post(url, {}, {
            headers: {
                'X-CSRFToken': getCookie('csrftoken')
            },
            responseType: 'json'
        })
            .then(response => {
                console.log(response.data);
            })
            .catch(error => {
                console.log(error.response);
            });
    }
},

总结

埋点的目的就是在应用中特定的流程收集一些信息,用来跟踪应用使用的状况,后续用来进一步优化产品或是提供运营的数据支撑,包括访问数(Visits),访客数(Visitor),停留时长(Time On Site),页面浏览数(Page Views)和跳出率(Bounce Rate)等。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。