00:00
然后呢,我们下边说一下这个叫多渠道的一个打包。嗯,多渠道的打包什么意思啊,看下这个说明。什么叫多渠道打包?呃,什么叫多渠道包,或者叫多渠道打包?说渠道包呢,就是在安装包当中添加渠道的信息。上面我们呢,都是安装包啊,也就是呢,我们叫做channel,然后对应不同的渠道,比如说呢,嗯,是我这个应用写了一个,比如说就是微信吧,呃,这些应用呢,我是发布到小米平台上的,360平台上,还有应用宝平台上,嗯,然后呢,我们后台呢,可以看一下在不同平台上,这个到底用户的一个下载量如何。嗯,其实后台呢,现在也可以做很多的一些管理统计这样的工作啊。啊,这呢,我们就相当于是针对于不同的平台,我们呢都打不同的包啊,相当于里边呢,只是多了一个字符信,字符串的信息就是这个channel是小米的还是360的,还是应用宝的而已啊。那为什么要多渠道打包,我们在安卓包当中添加不同的标识应用呢?在请求网络的时候呢,呃,携带渠道信息方便呢,后台做运营的一个统计。
01:06
啊,方便后台做运用统计,这就是我们添加渠道信息的一个用处,比较简单明了啊,然后呢,实现多渠道打包的一个原理啊,一般来讲呢,这个渠道的标识呢,会放在功能清单文件当中。呃,是这个application下的一个ma data当中,然后呢,就可以在Java当中通过API的方式获取这个子符号了,诶获取到以后呢,呃,当这个用户呢,请求网络的时候,你可以顺便呢让他把这个字符串呢给发出去,那我们就知道呢是诶这个应用或者这个用户呢,是从哪个平台,然后呢下载这个应用。那如何去实现这呢?只是提供了一种方案啊。那这呢,现在也也算是一个背景啊,说现在应用呢,呃,安卓的应用的渠道多种多样啊,其实渠道呢,不仅局限于应用市场啊,一种推广方式呢,也可以看作是一种渠道,比如说呢,通过人啊,人的方式啊,通过官网上推广的方式,百度推广啊等等,说渠道呢,成千上万啊,为了推广呢,有时候呢,一次呢,就这这一这一个到这这一个意思了啊,下边是另外一个意思。
02:09
就是我需要呢,统计一下到底是通过哪些渠道用户能下载的啊,你就可以在每一个不同的渠道里边呢,打一个不同的这个包啊。那渠道呢,成千上万,为了推广呢,有时候呢,需要一次打成千的一个安装包,那你这个渠道特别多了,那就打不同的安装包,那就很崩溃了啊,那打一个包,我们那会儿看着还花了有十几秒呢哈,你打个上千个,你半天或者一天就没了。啊,那你要是大公司的话呢,这个这个这个你要这个应用比较大,要不然应用呢,就是渠道确实比较多,那就很麻烦了。然后下边的话呢,我们来看一下这个几种不同的打包方式啊,这里边呢,就各自有这个特点啊,首先呢,提到这个叫有盟打包,也是目前用的都比较多的,或者主流呢,都是用的这个友盟的打包,那在公司产品这个上线的话呢,需要打包了,这个针对多渠道的,那我们就大家就可以直接选择永恒的啊,那后边呢,还提供了这个美团的跟360的啊,它这两种打包方式呢,就适合于这种批量式的打包,比如我一打我发布100个不同版本的。
03:12
啊,那你要是用这个友盟的话呢,它这个速度就很慢了啊,那用这两个速度就会快一些,这两个呢,实际上是做了一些呃精巧的一些处理,但是不是说今天好使,一辈子都好使,他有可能回头呢。呃,谷歌这个软件,它这个或应用有一些变化的时候呢,导致这两个会不好使。啊,但目前都好使哈,这种呢,打包方式呢是比较长久的。那主要我们先来说说这个有盟的哈,那下边就是具体一个说法了,然后大家需要做的事情呢,你就是直接照着我们,我给大家提供的这个文档,你就往下粘就可以了啊,所以比较简单。呃,友盟这个打包看一下,按照友盟的要求呢,我们在这个工程清单文件当中,刚才也说了啊,就是在工程清工程清单文件里边一个特殊的字符串,我们去添加这样一个麦达data ctrl c,我们呢就以咱们写的这个应用为例。
04:07
啊,就以它为例,找到我们的工程清单文件。呃,工程清单文件在这啊,然后呢,这是application在它的这个位置啊。Ipk这那个标签里边,我们提供一个data。啊,有萌的一个channel,我们说这channel的话呢,你得指明你到底是哪个平台的,那实际上呢,就主要是需要指定这个字串。但是这个字符串的话呢,我没有在这儿写明。就我没有在那指明是谁啊,那在哪指明往下看。啊,接着说在这个呃,Module当中,也就我们这个APP哈,在他的这个GR文件当中呢,我们去添加下边的这样的一些信息。啊,CTRLC一下。打开关文件,嗯,这个and enjoy这个大括号内啊,我们在这个位置,哎,我去CTRLV一下。
05:03
嗯,填的就是刚才这个信息啊,这个信息里边大家看刚才我们在这个工能切代文件里边呢,说这个位置没有写明这叫有盟channel value,而在这呢,就写明了channel value呢是豌豆荚或者是小米市场。啊,那就意味着我们这时候呢,打包就打两个渠道包啊,诶有豌豆荚有小米的,那你还有什么应用宝的360的呀。华为的啊,等等等等,你就接着往下这样去CTRLCCTRLV1下来写这两个就行。哎,就可以了啊,那你要是特别多的话呢,写上十几20个还可以是吧,你要上百个的话呢,就感觉好像有点整顿了,就哈,写的有点太长了,哎,这个呢,只是我们说的这一种方式啊,这呢我先写成个这个叫方式一。那方式一还有一个优化。啊,优化的话呢,说上面只有两,你要几十个的话呢,这样写就感觉不太好了,所以我们可以给他优化一下。
06:04
改成这种方式。改成这样一个方式来写哈,这样方式来写,可能同学想这个感觉,感觉好像比上面还长。是吧,那你现在就俩看着长,那我要是整上几十个上百个的话呢,其实你不就发现我这就光在这儿写了这两个吗?大括号也就完事了,那你要是几十个的话呢,这不就光写这个玩意儿就行了,而你这个呢,需要写两行代码,我这就其实就写一行就行。嗯,这里边其实意思是一样的啊,嗯,在这样的一个现在也算是个对象了,嗯,在它这个属性当中,我指明这个值呢,是一个name name其实就是它或者是它。那如果你再想加其他的渠道呢,只需要在这个,呃,相当于这是一个标签里边啊,你去多加其他的这些就行。啊就可以了啊,在这个位置我们去添加其他的渠道。
07:04
在其他的渠道,比如说呢,有这个叫应用宝是吧,整个大方对吧。可以了啊行,这样呢,是我们优化以后的这个方式。哎,我这写个优化一。啊,那还可以再优化。嗯,还可以再怎么优化来,我们看一下下面的优化,二说上面呢,经过签名打包以后生成的APP呢,它的名称呢,是有默认命名规则的,呃,打包以后呢,最后长的是这个样子啊啊,这是你什么什么应用啊,是在小米这个渠道的啊,是一个发布版的一个应用,那我们还希望在这个AP文件里边呢,呃,写进去你当前这个应用的一个版本号。啊,就比如说我这儿,呃,这是我中午从那个360这个里边下的啊叫卖卖,然后这是他这个版本号,嗯,我希望呢,这里边也写上他这个版本号。嗯,你要想写上版本号的话呢,那就相当于在原有这个打包基础之上呢,再添加一个属性信息了,呃,我们就可以按照下边这种方式呢去做一个添加。
08:09
一直站到这CTRLC一下。哎,再回过来还是在这儿啊,这个呢,我们叫优化二。来,CTRLV粘过来就行。这里面大家可能会发现,诶,这怎么感觉跟Java似的。是吧?啊,那其实呢,这里边我们说整个这个grid文件呢,它使用的这种语法呢,叫。哎,什么叫O啊?忘了是吧,哎,就是这个GR文件里边呢,你看这种语法格式,它其实也是一个语言哈,是叫G这个语言。啊,这个语言的话呢,里边实际上指明了我们很多的当前应用程序的信息,像这个版本号啊,是不是咱们上午更新的时候用到了,呃,应用的一个ID啊,呃,这个最低版本,最高版本,目标版本啊等等这些信息就是通过这个GRG这个文件,哎,这种语法格式呢呈现给我们的,那其实你看这个按照啊,我要点出CTRL键。
09:08
意味着我是不是能进去啊,我一点这是不是又跑到账号代码怎么样了。啊,其实说明的意思就是什么呢?哎,我们前面不是说过叫哎Java叫什么万事万物皆对象嘛,就是凡是你看到其他的一种语言格式能跟Java混在一起用的,那它一定是呢,体现为Java某一个类的对象了,或者是某一个类的这个属性了,啊这个也是一样哈,同时呢,我们其实相当于还可以在这里边写啊,就像Java这样的语法啊,那Java解析的话,Java没问题啊。哎,通过这样的方式去,哎,我们说去添加你当前这个应用的版本,因为我们在这里边涉及到了那你当前这个应用的一个默认配置信息里边的,哎,Version name。哎,默认配置信息真的不是我们的默认配置信息吗?里边这个卧室内1.0。啊,就给他写进去了。
10:00
哎,这样点APK文件啊,行这呢,我们就相当于是做好了,做完以后的话呢,这里边还写一个说明,哎,刚才我们在这个上边这。提到了啊嗯,说呢,我们可以在单代码当中呢,你可以通过相应的API呢去获取,你到底这是哪个渠道的。呃,然后呢,通过网络时候发给后台啊,那我们这儿呢,就有相应的这个方法。啊,就是这个方法说呢,嗯,我们可以调这个方法,直接在这个代码里边去获取,它到底是哪个平台的,我CTRLC一下啊。CTRLC下以后呢,我们这样一下,我找到咱们的。这个代码,代码里边找这个找一下我们的,比如说vit吧。行面向地进来以后,这是我们的利data塔啊,那我不妨呢,我就在这,哎我呢想想什么呢,想显示一下到底是哪个渠道的啊。
11:01
来自于哪个?啊,渠道的这个啊应用啊,我们刚才说了有这样的一个方法,我就直接粘过来,然后这个方法的话呢,CTRLC我在这儿呢,调用一下。Out enter是不是那个变量,哎,我就直接写一个to了。哎,那就意味着呢,只要我们这个程序呢,呃,运行起来,进入手机面啊,进入这个may压机体了,它就应该能自动的给透一条信息。啊,这呢,就是你这个颤到底是哪行,这块呢,我们就嗯。同步一下啊,因为刚才我们加了一些这个配置信息了。这个好理解吧,这个。也不用你做啥,直接你就照着这个往下粘就行是吧。
12:05
那这块呢,报错了啊,那你接着再重新再rebu一下。哎,有时间的话呢,下来你就自己写一写,没有的话呢,你就把这个文档还有这个,哪怕你这个视频是吧,你就先存着,等到时候用到的时候呢,直接过来听一听,其实一听呢就会。啊,有可能你现在操作了长时间不用在公司,因为你打包啊,那就最后那一个环节是吧,来做这个事儿啊,前期的时候都在写代码啊,到最后那一环节的时候呢,忘了你到时候看一下就行啊。啊,不报错了,嗯,不报错以后这个时候我们干什么呢?我是不是开始再去点一下这个生成签名文件。谁呀,这么困难?嗯,点APP next输入一下这个密码。
13:06
然后呢,Next我再看这个时候呢,我再去发布它就能够识别说哎你这呢,有两个渠道啊,万总加的跟小米的。诶,我就可以选中他俩啊,然后点一个,这还是一个发布版finish。然后呢,等一等,那你现在呢,刚才我们这会儿没有涉及到两个渠道,还有一定时间,那现在俩渠道了,按说是不是应该稍微慢一点啊。那如果这周有几十个渠道呢?那你开了以后,你就可以吃饭去了是吧,你等会儿就就得等等很长时间了啊。但是这个呢,是属于比较正规的。啊,正规的这个方式。行唐餐唐在在这打包着啊,然后呢,干什么事呢,我把咱们这个呢给它卸掉啊。其实不卸,我忘了之前那个跟我们当年那个是不是一个签名文件了,是一个签名文件,其实不卸也没事,真的我就嫌麻烦就直接卸了啊嗯,完了以后呢,大家你看在我们这个APP啊,然后呢,Output,呃,Build out,呃,Build outputs AK这里边呢,这不就能看到这两个了吗。
14:18
就相当于目前是有两个渠道的一个打包文件哈,我们可以呢叫showing explorer。来打开,哎,这个呢是小米的啊,那现在我们可以这样。嗯,小米方便,我就先放桌面上了。啊,这是小米的啊,然后我现在给它拖进来。安装一下。哎,安装然后打开,诶大家看进入手页面的时候,会不会那个透啊出来。挣着一些吧。
15:02
嗯,我再点一下。那因为我这没有开服务器啊,所以这个时间呢啊,只开两开。每台服务器,它这就稍微慢一点。出来了,嗯,这个刚才呢,就是通过我们刚才写的这个代码写的,那就相当于我就指明哦,这是来自于小米的。哎,那你回头把这个数据呢,就发送给服务器,服务器呢就呃统计啊,后台或者一共呢,这个应用呢,被呃50万人安装了,然后呢,其中哎这个平台的是多少人,那个平台多少人,那个平台多少人就全都能记录下来啊。然后呢,也负责方便这个运营的,他们可以有针对性的,比如说呢,通过这个街边扫码的方式效果比较好是吧,就多出去整波人多扫扫码也行啊。嗯,行,然后呢,你也可以怎么着呢,就是针对于不同的平台,那个平台说说我那个给你下载了那20万,你得给我分成是吧?嗯,然后你一看后台发现就只有十万人收到这个数据了,那你发现他那平台可能数据造假了。
16:07
啊是吧,因为呢,每当用户安装一个以后呢,它就会自动的你让他发送一个来自于哪个渠道了,你后台就可以都统一一下收取嘛,啊你就知道到底是那个平台来了多少人。嗯。好,这呢是我们说的比较正规的一种方式啊,使用永恒的多渠道打包,缺点呢也比较明显。嗯,缺点呢,就是这种打包方式效率比较低,如果几十个呢,还可以应付啊,如果呢,打一个包啊,就是说打个包快的话呢,十几秒啊,那慢的话呢几分钟。那就是你打的包呢,少一点还行,一旦太多的时候,那就不太合适了。然后我们就得看一下下边这两种打包方式啊,就属于这个。呃,更加快速的打包啊,有一些这个,呃,成员可能工作了有这个一两年的哈,他可能这个只知道这种,包括甚至有这个三年的做安卓的哈,那他也不知道有下面这两种啊,那这两种打包方式就会更快一些。
我来说两句