多渠道打包

###多渠道打包概念
>* 发布到不同渠道上的apk,标记不同的渠道,目的是为了统计该渠道的下载量,留存率等等数据
>* 了解下载量
>* 针对性的打广告


###渠道统计的核心
1 为apk打标记(渠道的标识)
2 运行apk的时候取出标记
3 上传标记给服务器统计


###友盟渠道统计的实现
1. 打标记:在清单文件中的meta-data结点下配置渠道


<meta-data
            android:name="UMENG_CHANNEL"
            android:value="官网"/>
2. 运行apk的时候,友盟的api,会取出meta-data的渠道信息
3. 上传渠道标记到友盟自己的服务器,用户就可以通过友盟的后台查看具体的渠道统计了


###多渠道打包的方式
0. 一个一个分别导出
1. ant:要求比较高,需要懂得如何编写ant脚本,但是编写好之后,执行一个命令就可以
2. 友盟的打包工具
3. Gradle 多渠道打包 ,比较新
4. ,使用比较简单
4. 快速打包


###如何选择
1. 如果只是修改`渠道名`可以考虑用`umeng打包工具`或者`gradle多渠道打包`,其实绝大数公司情况属于此种情况;
2. 打包过程需要`定制化的配置`,可以考虑用ant或者gradle定制打包,可以参考`http://tech.meituan.com/mt-apk-adaptation.html`,说明的情况.
1.自定义包名
2.自定义签名


###umeng打包工具
####下载地址
 `https://github.com/umeng/umeng-muti-channel-build-tool`


####步骤
  看具体视频


###gradle多渠道打包
####1. 在AndroidManifest.xml中定义占位符


<meta-data
            android:name="UMENG_CHANNEL"
            android:value="${UMENG_CHANNEL_VALUE}"/>




####2. 在module的gradle脚本中替换占位符
 
productFlavors {
        wangdoujia {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wangdoujia"]
        }
        xiaomi {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
        }
        anzhi {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "anzhi"]
        }
    }


###快速打包(1分钟打900个渠道包,不是梦)


####参考网址:


http://www.open-open.com/lib/view/open1418262988402.html
http://tech.meituan.com/mt-apk-packaging.html 美团自动化之旅


####准备
 
下载python: https://www.python.org
下载别人写好的脚本:  https://github.com/GavinCT/AndroidMultiChannelBuildTool


####步骤
1. 安装Python
2. `..PythonTool\info\channel.txt`,里面去添加自己想要的渠道
3. 放置apk到`MultiChannelBuildTool.py`所在目录
4. 双击`MultiChannelBuildTool.py`执行脚本,完成多渠道打包;


5. 拷贝`ChannelUtil.java`到项目中
6. 代码设置渠道`AnalyticsConfig.setChannel(ChannelUtil.getChannel(this));`








###新一代Android渠道打包工具:1000个渠道包只需要5秒
>* 参考:http://www.open-open.com/lib/view/open1453684213136.html(新一代Android渠道打包工具:1000个渠道包只需要5秒)


####步骤
1.修改项目根目录的 build.gradle 


buildscript {
    ......
    dependencies{
    // add packer-ng
        classpath 'com.mcxiaoke.gradle:packer-ng:1.0.4'
    }
}


2.修改Android模块的 build.gradle 


apply plugin: 'packer' 


dependencies {
   // add packer-helper
   compile 'com.mcxiaoke.gradle:packer-helper:1.0.4'
}


3.Java代码中获取当前渠道(在应用程序启动的时候),在Application子类中的onCreate()方法中


public class MyApplication extends Application {
    @Override
    public void onCreate() {//程序的入口方法
        ....
        // 如果没有使用PackerNg打包添加渠道,默认返回的是""
        // com.mcxiaoke.packer.helper.PackerNg
        final String market = PackerNg.getMarket(this);
        // 或者使用 PackerNg.getMarket(Context,defaultValue)
        // 之后就可以使用了,比如友盟可以这样设置
        AnalyticsConfig.setChannel(market);
        ....
    }
}
4.添加打包的签名,可以通过图形界面添加

 signingConfigs {
  //add
        config {
            keyAlias 'itheima'
            keyPassword 'itheima'
            storeFile file('C:/itheima.jks')
            storePassword 'itheima'
        }
     }
 
buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'


//add
            signingConfig  signingConfigs.config
        }
    }
5.创建markets.txt放到根目录,#号后面是注释,可有可无


Google_Play#play store market
Gradle_Test#test
SomeMarket#some market
HelloWorld
6. 通过命令进行打包


gradle -Pmarket=markets.txt clean apkRelease


7.效果
《宾馆客房管理系统》是一个基于C#与MySQL的项目,旨在帮助学习者掌握数据库管理和系统开发知识。该项目通过完整代码实现,将编程技术应用于宾馆客房管理的实际业务场景。 C#是微软开发的面向对象编程语言,广泛用于Windows应用程序开发。在本项目中,C#用于构建用户界面、处理业务逻辑以及与数据库交互。它拥有丰富的类库,便于开发复杂图形用户界面(GUI),并通过ADO.NET组件实现与MySQL数据库的连接。MySQL是一种流行的开源关系型数据库管理系统(RDBMS),常用于Web应用程序,用于存储客房、预订、客户等核心数据。通过SQL语句,开发者可对数据进行增、删、改、查操作。系统中可能涉及“客房表”“预订表”“客户表”等,包含客房编号、类型、价格、预订日期等字段。 数据库连接是系统的关键部分。C#通过ADO.NET的SqlConnection类连接MySQL数据库,连接字符串包含服务器地址、数据库名称、用户名和密码。用户下载项目后,需根据本地环境修改连接字符串中的用户名和密码。系统主要功能模块包括:客房管理,可展示、添加、修改、删除客房信息;预订管理,处理预订的查看、新增、修改和取消;客户管理,存储和管理客户个人信息;查询功能,支持按客房类型、价格范围、预订日期等条件查询;报表和统计功能,生成入住率、收入统计等报表辅助决策。开发者需编写C#方法对应数据库操作,同时设计直观易用的界面,方便用户完成预订流程。项目中的MySQL文件可能是数据库脚本或配置文件,包含建表、数据填充及权限设置等内容,用户需在本地测试前运行脚本设置数据库环境。 总之,该系统结合C#和MySQL,为学习者提供了一个涵盖数据库设计、业务逻辑处理和界面开发的综合实践案例,有助于提升开发者在数据库应用和系统集成方面的能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值