00:00
啊,我们接着说啊,刚才这呢也只是呃,说明了一下如何去提供这个事情,嗯,然后真正在这个公司里边的话呢,我们这个最终打包的这个的文件,首先肯定是签名过的,这个毫无疑问哈,但是通常情况下呢,我们都会提供的是多渠道的这个打包。哎,都提供的是这个多渠道这个打包啊呃,多渠道打包为什么要提供一个多渠道的打包。啊,这边有这样一个说明,先来看一下啊。就相当于我们这个提供这个档的这个代签的这个APP文件呢,根据你不同的分发渠道,然后我们再去提供不同的APP文件。啊,那什么叫多渠道包,先来说明一下,说渠道呢,渠道包呢,就是在安装包当中再添加渠道的信息,也就是channel啊,对应不同的渠道,比如说呢,呃,你是小米市场帮你分发的这个应用,或者是360市,360市场或者是应用宝市场分发的,那我们就在不同的这个市场里边提供不同的APK文件。
01:05
其实这个不同也仅仅体现为这个channel这个变量不同,其实应用呢。都是一样的指数呢,在这应用里边呢,我就多加了一个信息,或者你理解成多加了一个字符串在合适的位置啊,这个字符串呢,就表明呃,这个是小米的,那个呢是三点平法的啊,那个呢是中帮我们分发的,那下边呢,我们就来说一下啊,如何去实现一个多渠道的大。啊,这是真正开发中是真正是这样来用的啊,那多渠道打包的话呢,我这提供了几种不同的方式啊,友盟的多渠道打包,还有这个美团和360的啊,那这两这三个呢,你看到了好像都没什么区别,是不是挑一个就可以啊,先简单说一下,那公司中用的基本上都是有盟的。啊,这种打包方式呢,就是比较保险一些哈,嗯,但是这个缺点就比较慢,如果说你需要打包,比如说几个或者十几个。
02:00
啊,甚至说几十个几十个,但是二三十也还好啊,那我们使用友盟的话呢,还好,但一旦比如说我们想分发的这个渠道比较多,你达到上百个。不同的渠道是吧,都给他去提供一个特别的一个呃,打包文件啊,上百个的话呢,用永恒这个效率就非常慢了,那我们就考虑使用这个美团的或360,它打包的速度是非踌的啊,啊,那它肯定有它自己的这个原理啊,这个我们一会再说一下啊,首先呢,我们主要呢,看一下这个有恒的多渠道打包是如何实现的。好,还接着刚才那个说哈,提到这个叫多渠道包的概念,那下面说为什么要提供这个多渠道包。啊,我们呢,要在安卓报道中添加不同的标识啊,应用呢,在请求网络的时候呢,携带渠道信息。方便呢,后台做运营的统计。这个应该比较好理解,其实这就是一个变量啊,放在你的这个文件里面,然后呢,我们通过Java代码呢,是可以获取你这个应用里边这个变量的,比如说我就知道啊,你是来自小米还是三个零的,然后呢,呃,当用户联网的时候,我就把这个信息呢,通过网络的方式发给后台。
03:11
那后台呢,其实就统计出来说好我们开发的这款应用啊,在小米市场帮我们下载了多少多少量是吧,呃,360是多少量,应用宝多少量,然后以及其他的一些渠道,这样的话,这个运营的它就可以有针对性的啊呃去去做这样的市场运营啊,啊以及的话呢,比如人家不同市场考虑的,人家有一个分红呀等等的啊小比上说我帮你下载了50万,50万个用户啊,这块说根本就不到50万,我这呢有后台数据统计是吧?哎,没有那么多,就是相当于你自己呢,也可以去记录一下啊。所以真正公司里边做的话呢,都是提供这个多渠道包。嗯,这里边儿呢,说打包的一个原理,说一般来讲呢,这个渠道的标识会放在功能清单文件里面,就是提供了一个ma data信息。
04:00
啊,然后呢,我们在代码代码里边呢,就可以去获取这个麦信息。知道呢,你是来自于哪个渠道的啊呃,提供这个渠道呢,主要一个目的呢,就是这里边有个说明哈,呃,说渠道方式有很多种,通过人拉人的方式啊,官网推广,百度推广等等等等啊,渠道呢就特别多啊,那么我们这时候呢,如果你就一个一个的去写,那就特别慢啊,所以我们通常都通过这样的一些工具的方式。啊。这里边同时还提到一个效率的问题,如果你要打包的太多了啊,半天一天的就就等着他在这打包了。那肯定是不太方便的啊,所以这呢,我们就提到了几种不同的方式。啊,首先呢,我们主要呢,针对的是这个有盟的多球打包也是需要大家来掌握的哈,那希望大家能够实现的,就是你照着这个文档的这个。啊,这这是之前我整理的这个文档啊,整理完以后呢,就哎大家呢,就照着文档一步一步往下写,就肯定可以做成。呢,非常简单,基本上你一行代码也不用写。
05:03
好,我们看下怎么去写,按照这个说明。嗯,说按照这个有工的要求呢,我们需要在功能清态文件里边呢,添加一个ma data啊这呢,你就把这个位置CTRLC。啊,找到我们当前要打包的这样一个应用,找到功能清单文件。找到这里边这个application在它的内容跟呢是并列关系一下。啊写到这啊嗯,写到这以后的话呢,这个位置就不用改了,就是有盟的这个大包啊,就是有盟柴。那具体你到底是打包到360了应用宝啦,还是这个小米市场了,实际上我们要写的话呢,应该是改这个值。啊叫有盟的channel value,这个value呢,具体你是360的呀,还是还是这个小米的呀,是这个值,但是这个值呢,我们不在这写明,只是标识一下。啊,那是写到哪看下边。
06:00
在我们的grid文件当中。啊,按照这样的一个标签内,我们添加这样的一段代码,你说C一下。哎,找到我们的word文件。双击打开,打开以后呢,上面是我们这样的一个这个节点啊,CTRL节点在这个节点里边这个位置上,CTRLV一下。啊,加了这样的一个叫子节点了哈。好,接完以后的话呢,我们刚才那会儿在功能训练文件里边提供这个变量,这个变量呢,在这去赋值,说可以是豌豆荚的,可以是小米的,当然了,你你要是还有其他的,那就在这去写就完了。哎,对,你比如说我在这CTRLC一下讲到这,说我这是来自于这个,比如应用宝的吧。哎,然后这个CTRLC把这个改成应用宝。可以啦,然后呢,还有其他的就一直往下加。好加完以后呢,就同步一下啊,来这呢,就是我们说的这样的方式,回头呢我们打包就可以了。
07:04
啊,这是其中的一种方式,在这个基础之上的话呢,我要进行优化啊,所以我这儿呢,只是方式一。所以我这儿就不不去测试了哈。方式一这就过了,那下边这个方式,嗯,有什么区别,这呢,我们是针对上面的方式做一些优化了啊,这叫优化一了。哎,我们直接粘过来优化的这个代码,你来看一看。选错C一下。这是我又重新优化以后的,那优化以后跟上面的有什么区别呢?能看出来这个区别不?嗯,你看刚才那会儿呢,是不是每一套的时候,里边都独自的写了一行这个代码啊。而我这个呢,是不是都统一到一起了呀。
08:01
啊,或者你猛一看觉得,诶这个就才写了这么几行,你这个好像写的代码量也不比原来少。啊,但是呢,你想想,如果我这有几十个啊,几十个的话呢,你这呢,是不是就得至少两行在哪吧,我这儿呢,是不是就光写着像一行就行了。几十个以后呢,相当于你只需要提供这个字符串,主要是这个字符串信息啊,后边一个账号封起来就行,然后这个呢,是统一的啊,你这都是它的内容,我就让这个,嗯。China y6的这个质量就等于这个内部就行,相当于统一的在这呢都负这个一个一个的变量,你这呢是一个个的都写成常量的方式了,所以你要是当多的时候呢,不如这个呢小,呃,不如这个呢就更简洁一些。能体会到吧,嗯,好,这是我们说的优化一啊,那优化一完了以后呢,我们再来一个优化二。呃,优化二呢,看看是要做个什么事情啊,嗯,这里边我们提到了说这个,呃,上边这个签名以后啊,签名以后用我们去打包签名,它会生成这样格式,叉叉叉是来自于小米的啊,还是叉叉来自于呃豌豆荚的等等,那我们还希望呢,跟我们生成的这样一个应用的里边再标识一下我们当前这个应用的版本。
09:21
啊,很多时候我们去应用市场去下载应用的,它那个APP文件前面是带着版本的。哎,我们也希望呢,给他加上这个版本。啊,所以这个优化呢,是在这个一的基础之上加了一个版本,哎,怎么做这个呢,还是不需要大家一行行去写啊,直接呢把这一段代码粘过来。CTRL分一下。好搞定。啊,你要具体去看一下的话呢,就是在前面刚才说的这个代码的基础之上。跟优化一一样啊,又加了一下你具体这个应用的一个version。哎,这个version你看就是default con.version default con。
10:03
这不就default吗?里边的这个version version name1.0来加到我们这个后边。这样一看的话呢,这就有点像这个是不是对象调属性啊。哎,或者你这用了一个范,这是一看,这不这不炸在那。是这意思吧?啊,那其实呢,我们说了这个GR文件里边这样的一种语法格式,我们把它叫什么语言啊。是不是这个语言啊,对,就是整个这的文件啊,这个后缀叫就跟你说你这个呃,点Java文件啊,点Java文件比较特别的,它就用Java言写的啊,这个呢,叫第二的文件呢,是用这个group语言来写的,就长这样。啊,那其实呢,你看那个按照哈,我们点出CTRL键,你发现是不是可以点击啊,点击就意味着我这时候一点可以进去啊一点。这是不是就定位到Java这个层面了?是不是成了Java的一个类了?
11:00
是吧,哎,那相当于呢,就是哎这个GR文件的话呢,其实我们用Java程序,你这里边写明你的这个这个IDK版本了,写明你这个应用的一个,呃,应用的一个包名啊,写成你这个版本的这个号啊,实际上我们在Java这个代码层面是不是都可以去获取这些信息啊。那既然过许张层面全是用张语言写的,那用言外及义张语言是可以跟这个group语言去交互的,或者再换句话说,这里边呢,你用的这样的一些节点在章案里边呢,是不是要么体现为类,要么就体现为是具体的一些属性啊?是吧,说白了就跟我们这个插包文件是不是一样,插包文件里边这插包语言了,那你这样的一个标签对应我们这不就是一个类的对象吗?布局文件也如此啊,所以通过这呢,大家可以再去体会一下我们讲的张啊,这叫叫。一对一个正面对象,再一个呢,叫万事万物皆对象是吧。啊,就是你任何的或者Java层面哈,Java层面所有的东西我们都以类的类的方式去封装啊,叫万事万物皆对象啊,另外一方面呢,你怎么体验就是这个再扩展一下这个万事万物呢,就不管你是AT包代码,叉包代码,还是这个后台的数据库,乃至于我们现在可以看到这个gra文件用pro这样的语言啊,你们这些语言跟我们Java在交互的时候,我Java层面全部提供啊,对应你们这里边这些标签或者这些节点的类。
12:28
啊对,我用类呢,再去体现啊,这些面向对象的概念。这就是万事万物皆对象的一个想法啊。行这个呢,就是大家能够体会一下,行,那这呢相当于里边呢,哎,我们你看提成这个代码回头在账号层面呢,那就。本身就是像Java这样格式的啊,所以是可以读取的。OK,这样的话呢,我们就写好了啊,写好以后的话呢,你这个来一个同步也行,或者我这来一个也可以。啊,因为我们修改了。
13:02
嗯。应该没啥事啊行,嗯,修改完以后的话呢,再往后看啊,这块呢,具体的就没有太多东西了啊,到时候说一个什么事呢,说如果你需要的话啊,可以怎么着呢?哎,你可以在我们的代码层面去获取你这个应用的渠道啊,这里边还提供了这个方法了啊,那你需要做的事呢,就把这个CTRLCL一下。啊,比如说在我们这里边啊,我们呢,呃,分发到就是提供了不同的渠道,然后呢,不同的渠道呢,用户安装,然后用户验装,我就让他把这个从哪个渠道来的信息发送这后台,比如说我们就可以这样做,在这个VRTP里边呢,我们提供这个方法。哎,这个方法我就写好了啊,写好以后的话呢,我这呢就不去写个按钮了啊或其他的我们也不写这个联网的。具体这个使用的框架或使用的HD Fla啊,发给后台了,直接呢,我就在本地呢,先给他透一下得了。哎,我们在这里边调用一下这个方法。
14:04
然后呢,我加一个to。啊,就简单的这样来去实现一下啊,这暴力问题我们再重新再。嗯,这就可以了啊行,这样完了以后的话呢,诶,我们就能够获取你这到底是哪个渠道了,如果是小米的,这就是小米,如果是刚才我们写的是豌豆荚的啊,这就是豌豆荚了。来,我们再去生成一下这个签名的文件啊,点击。好,还使用它。123456。321。那这个时候呢,这不就提供了这两个显示出来的啊,豌豆荚的小米的,或者你配的够多的话呢,这里边就很多你都选中它,然后点一下finish。
15:04
哎,下面你要做的事情呢,就是等是吧。哎,好了好了以后呢,点击。进来啊,进来以后的话呢,这就是帮我们生成这个多渠道的啊,是小米的或者是豌豆加的,同时还记录了你这个版本号。啊,这样就可以了啊,嗯,那此时的话呢,嗯,我们比如说把它去运行一下哈。啊,那运行一下呢,我运行一下的话呢,我们还是跑在这个模拟器上,真机也是一样。嗯,这个好像我们那会又默认的又运行了一下啊,我把这个就卸了吧。好,随便拿一个,比如我拿了个豌豆夹子,把它俩拖进来。哎,做了一个安装。嗯,然后这样推一下。现在我打开。在哪儿?
16:01
这是我们刚才那个to to的这个信息,诶这个信息的话呢,你用不着让你在应用里边透,你就给他发送到后台就行了,这样后台就可以记住我们这个应用到底是来哪个渠道的。啊,其实说白了就是在原有的应用上面加了一个字符串信息而已啊。行,这就是我们所说的这个有盟的多渠道打包也是呢,在公司里边。就是用他的啊,具体打包方式呢,就按照刚才那个流程就可以了啊,他的缺点效率低。啊,就是效率低,刚才呢,我们打包了两个,就比您刚才那会儿没有去用渠道,这个呢,就稍微慢一点,那你要几十个上百个的话呢,那能半天一天就不用干别的了,就就在这等着就行了。啊,但是这个呢,也是公司用的啊,所以这个还是要会的。
我来说两句