00:00
具体电话代码呢,我先给他粘过来,粘过来之后呢,再给大家解释啊。这个代码没有必要敲啊,没有必要敲,你敲它的话得敲一天,但是呢,又没有没有任何价值啊,里面都是。Reno。代码量很大啊,很大。考验手速。拿过来,拿过来之后呢,直接放在这里面啊替换掉。这就可以了啊,乍一看这个代码呢,800多行是吧,老师你这也不敲代码,这这有点过分了啊,其实这个代码呢,真的是一点没有用哈,那么来看一下,为什么说不给大家敲,来看一下往上看,嗯,看你能不能读得懂,读懂就行哈,呃,首先呢,是这个。啊,里面。啊,这是设备ID用户ID,这都是模拟的一些数据啊,首先没方法进来,进来之后呢,有两个参数,一个呢是控制这个延迟时间的,一个呢是控制这个便利次数了。
01:02
那延迟时间这块呢,咱们刚才说了啊,默认的是零秒,那你看一下这句话能不能看懂啊,这相当于是一个三元运算符。前面这个XX是它传进来的参数,如果大于零,大于零,现在有一个参数,那有一个参数,我们就可取出这个参数。啊,判断这个参数程度就是取出这个参数这个值哈,把它转换成这个浪类型,如果这里面这个没大于零的话,就相当于没有参数,没有参数的默认值是是零啊是零啊,那下一个呢,是X plus,如果大于一。大于一的话,就相当于是两个及以上,那它就能取出第二个参数的值。啊,如果能取出来,你设置多少就是多少,如果这个没设置的话,那默认呢,就取出这个1000次。啊是这样一个概念啊,就是说默认这次呢是1000次循环,然后呢,每每条日志,每条日志延迟时间是零秒。之后呢,会进入到这个方法,这就是一个核心方法对吧,生成数据那一个是延迟时间,一个是循环条数好进来,进来之后就找到这儿了吗?不就这个方法吗?那这个方法第一个呢是延迟时间啊,延迟时间是最后设成这是延迟条数条数,条数默认的是1000,那1000进来之后呢,上来就是一个random。
02:15
啊认两次要也是flag标记,那这个它这个二呢,表示那个要么取零,要么取一嘛,啊在二以内的一个数,那么这个flag呢,就有可能选择零或者一,比如说有的时候那产生启动日志,有的时候产生事件日志。啊,这是模拟这种生产环境的一个事件,那启动日志呢,这个比较简单,你看事件日志这里面比较多。啊,这么多对吧,那下面这个呢,是延迟时间,延迟时间呢,就你传进来那个delay用这个,呃,Sleep睡多睡多少秒啊,这里面默认传的是零嘛,那就没睡嘛,一条一条的产生哈,好,那我们回答,那回答这里面我们先看第一个,第一个分支呢,是这个启动日志。那启动日志就它呗,它是负责启动的,启动完之后呢,返回一个呃,Star对象,然后呢,把它传到了一个接点to,这个呢是这个fast的一个API,你传进去这个对应的值能返回出来对应的。
03:08
啊,那来看吧,看这里面干嘛呢。啊,进来进来之后呢,因为你是要这个统计这呃,这个封装启动日志,那你就得有启动日志对象。你点开吧,你看这是啥。这不就是启动那个对象类型吗?启动的时候开屏广告什么状态失败码啊,就是这些啊,然后返回来。好回到这,那创建了这个对象之后呢,下面的事呢,就往这里面set值呗,啊就是这个各种set,你看set这个设备ID设备ID,然后拼成一个字符串,然后呢,第一个取完之后,哎,这个设备ID加一加加。啊,相当于是YID呢,不重复嘛,啊然后呢,这些用户ID,用户ID这个设置完之后呢,在用户ID加加。对吧,多简单啊,之后呢是乘以版本号,乘以版本号呢,就是这个字符串拼上了一个随机数。啊随机数,那这个程序版本号呢,又是随机数随机数啊,安卓版本号随机数随机数。
04:03
设备日志类型,那我们这个是启启动类型,这也是唯一的搞定,那下面像这个语言啊,有什么这个英文啊,还有什么PT啊,什么en呐啊这几个,那这几个呢,随机你看来了一个随机数三,那它就只能取012嘛。那就随机产生是他的语言,这语言,这语言啊随机产生。再往下呢,是渠道号,从哪个渠道来的。啊,哪个渠道来的,那这个呢,也可以这个呃,这里面是随机啊,通过这个参数啊,这这也算是一个函数。这里面呢,会随机生成一些字母,字母组合啊,字母组合把它拼接在一起啊,产生的一些啊字母哈,好,那返回来。那再往下呢,下面是这个嗯区域,比如说哪个区域的区域呢,也是通过这个random这种方式啊,Flag一会是零,一会是一,一会是BR,一会是MS。啊,手机品牌,手机品牌呢,这里面呢,也是来一个随机啊,有三星有华为有AC。
05:01
对吧,因为这个flag呢,它只能012嘛。呃,再往下呢,是SDK版本啊,版本号啊,还有这个邮件,邮件版本呢,前面这个呢是随机数,后面再拼上这个g.com。啊,然后呢,屏幕宽高啊,什么640乘以960640乘以1136啊,还有这个1080乘以1920啊,类似的这么几种宽高。呃,这个呢,客户端时间,那生成对应的时间网络模式3G啊4g WiFi。嗯,再往下呢,这个是经纬度啊,经纬度之后呢,是入口啊,这都是随机数,随机数随机数啊,加载时长呢,加上这个时间啊,还是随机数啊,下面失败码呢也是各种。随机啊,随机产生啊扩展。就没了,也就说最终我就返回一个B对象,你看我们就就是封装的B对象,一个一个字段的去赋值啊,这样呢,就能达到我们对应的这个效果哈,一个一个字段去赋值,OK。啊。
06:00
那回来啊,回来那这个返回值,那你都封装完之后,那返回值就是一个并对象啊,那并对象的话,那就往上找啊,找到这上面。就来到这儿了,那你说它返回来的是一个对象,那B对象扔到这个里面出来的就是它,它就是什么呢?它就是一个阶。啊,用这个发射接身传递一个病对象出来的就是一个接身接数据,就这么简单,那下面呢同类型哈,下面这个呢是事件类型,那事件类型稍微复杂一点啊,我还是先用一个。因为为什么先进一个杰森呢,因为你看。这从这到这这么一大坨,它本身就是一个阶层,那剩下的事儿呢,我就是一个一个往里面去传呢,你看在最外层这个阶层里面,我们需要添加的是有AP,有CM,还有ET,对吧,那对应的K呢,有这个gmail,还有这个公共字段,还有这个时间字段。
07:00
那好吧,那来看。怎么做到的呢?首先有这么一个阶,第一个你看把AP填进去。对吧,就是AP嘛,啊之后呢,下一个呢是common,也是公共资道,那公共知道的,你看一下进来你有一个APP base,然后一个一个set。啊,Random random random,啊,剩下的都一样,我就不多说了,再回来。你说这块这两个值能搞定,那下面再往下呢,再往下他用的是一个这个啊事件数组,为什么用了一个事件数组呢?那你看吧。嗯,这块你可能看不太清啊。因为我用的这个最外层这个JA身,除了一个APCM之外,那另一个K呢是ET,但是ET里面的值是什么类型呢?它是一个间身数。啊,你能看到这是一个兼身数组,间身数组里面又存在阶层,那我先把最外层搞定。啊。那就说这里面啊,存的是金神宿主,那精神宿主呢,那我就可以疯狂的往里面艾特。
08:00
啊at,那at这个前面前提呢,是random next不啊一会是零,一会是一啊是一产生,这里面这这是一共有十个事件嘛,啊随一产生。好,那再回来之后呢,下边啊往里进,这是添加了一个事件对吧,往这个数组里面添加了一个事件,看它添加的啥来进来。进来之后你是商品点击,那我就一个商品点击的对象啊,对吧,啊个这个对象,那下面的事呢,我就往这里面疯狂的添加数据不就完了吗?对吧,你看啊set这个点击曝光。嗯,这个呢是商品ID。设置六条啊,都是对行设置。设置设置设置到这的时候注意了啊,在这的时候,这里面是把这个对B对象呢已经设置好了,然后呢,我调用的是杰森点to杰森。哎,把它转换成接口对象。哎,转换成一个对象。一个对象之后,你放在里面看看啊。
09:01
真的。接身对象,然后他又封装什么呢?封装了ET,封装了en,封装了KV。为什么这么分析呢?那你看一下你这张图上。看一下这张图啊。刚才其实我们封装的一个一个事件,其实它封装的是谁呢?是这块。是这个事件里面具体的对应的内容。对吧,你这是一个数组,这个数组里面的值它又是一个接森,但是这个接身里面包含三部分,一个是ett,一个是en,一个是KV。那么我刚才是把这个东西准备好了,这是一个阶层,因为从这嘛,大括号开头,大括号结尾。他完事儿了,那也就是说你传进来这个身完事了,那这个身它只是KV啊。P的内容,那还有E呢,比如说事件的名称,你看事件名称E,事件名称还有个E是这个客户端。E dt,这不e dt吗,客户端时间。
10:03
哎,把它进一步封装,那么这个都封装好之后,它才能作为。你这个数组的一个值,你说才能作为这是一个数组里面的一个值。嗯,好,那回答所以说呢,现在呢,我们是把这个哎event JA就已经处理好了,处理好了之后呢,是它的一个返回值对吧,你看一下。厂长。手动了。嗯,往上找找。找回来其实呢,就是你这里面,哎,就是任何一个,你这个这不是一个身数组吗?啊数组它去添加每一个事件。然后put到这个ET,你说它返回的这个这个东西,它是一个ET。啊,它是最外层的ET是谁呢?
11:02
是他呀。啊,返回来的都得是一个啊,具备这样的一个一个数据啊,那是这样的话,那你看一下吧。他返回来的。对吧,刚才是返回来的,这不就是一个接吗?啊,现在是就往这里面去添加啊,就往这里面添加,然后呢,它会把你的添加到这里面作为返回值,它会把你这个内容作为返回值进行一个返回啊。返回,返回一个阶层。OK啊,那这里面我往这里面封装,封装完毕之后呢,它设计干什么呢?接身点put啊,就添加到这里面,这是JA森JA身再往后。那这个身呢,它封装了这么三部分内容,哪三部分内容呢,分别是PCM还有ET啊ET对应的值,那么基本上它就OK了啊就这三块就搞定了,那三块搞定就相当于。
12:03
这三块搞定了。Apct搞定,然后呢,封装这块的时候呢,我们是从内往里往外封,比如说先搞定它,搞定它之后呢,拼上它,再拼上它,然后作为它的一个子元素。啊,这样一个过程哈。行,那他拼完之后呢,往下走往下走,那这块呢,你要获取这个服务器时间。对吧,c.can million啊获取当前时间,然后当前服务器时间要拼上这个竖线,再拼上你这个日志进行一个打印,这块呢,他负责解决这块问题。啊,复习时间竖线包括啊日志内容OK。那这个说了半天完事之后,那他行不行呢,跑一下就知道了呗,右键。执行一下,看看能不能打印出来啊。默认的是1000条。
13:03
OK,你现在会发现呢,它已经打印到这个呃,控台上了哈,嗯,像这个com,然后呢,服务器时间竖线。加上这个大括号啊,然后C你看CM开头吧,啊,这是common common之后呢,这都是公共公共段公共。公共车段好到这到这呢,这是一个ape对吧?啊PE之后呢,是ET的话,就是具体里面的事件了,这个事件我看是什么事件啊,Display点击再往后呢。事件类型啊,Loading加载。再往后。啊,这个not notification啊属于通知哈,说这里面是拼接成这样,但平这样这个呢,其实我们还没用啊,我们得对这个配置,它才能打印到我们指定的地方,基在呢,只能打印在控台。那需要怎么进一步配置呢?看一下这个这块啊,3.4.14。
我来说两句