Android多渠道打包(一):基础多渠道打包

本章将介绍多渠道数据对于开发者的价值、Android原始多渠道打包


Android多渠道打包(一):基础多渠道打包
Android多渠道打包(二):友盟多渠道打包
Android多渠道打包(三):美团多渠道打包
Android多渠道打包(四):360多渠道打包
Android多渠道打包(五):360多渠道打包+
Android多渠道打包(六):maven&gradle
Android多渠道打包(七):系列总结及展望


多渠道设置的价值

开发者常在应用中设置渠道ID,并获取相应的应用数据。这些数据可以帮助应用开发者统计和分析流量来源、内容使用、用户属性和行为数据,以便开发者利用数据进行产品、运营、推广策略的决策。

数据对于开发者具有非常重要的价值,例如可以使用这些数据来进行应用趋势、渠道使用、用户留存、用户行为、用户属性、BUG错误等情况得分析。

对于数据的收集开发者可以自己开发数据分析平台,或者是使用第三方数据分析提供商的SDK,当前主流的第三方分析服务商有友盟、TalkingData、DataEye、Flurry等。

常用的渠道按系统平台可以分为Windows端、Linux端、IOS端、Android端、Windows phone端等,再在各个平台可以继续细分下去,按开发者的需求或是产品细分状况,可以是同平台不同产品的渠道、同产品不同系列的渠道、同系列不同应用场景的渠道等。

大多开发平台的多渠道设置,开发者都可以简单实现,但是Android平台来说,由于其开源的特性,产生了大量的产品碎片,同时也出现了多个第三方应用商店,因此渠道设置对于开发者来说是一个严峻的问题,比如开发者开发了某个应用,准备大面积的推广,就面临上线多个应用市场或产品渠道,渠道数量甚至超过1000之多,因此Android开发者一直在探索更加优秀的多渠道设置方式。

Android多渠道打包系列

好了说了这么多,我们正式来了解如何Android多渠道打包,对于本系列我讲介绍包括如下内容,并分别作为一章介绍。
原始多渠道打包、友盟多渠道打包、美团多渠道打包
、360多渠道打包、360多渠道打包+、maven+gradle、多渠道打包总结。


Android原始多渠道打包

来源

原始多渠道打包的方式,指的是每次打包的时候在代码中设置channelId,打包完这个渠道的apk包后,需要重新设置channelId再进行打包,如此反复。该方式多出现在android早期的时候,多被一些刚入行的android工程师使用,或者是一些公司面对较少渠道的时候使用。

原理

原始多渠道打包就是个体力活,在较少渠道的时候可以使用,但是面对上千的渠道的时候,使用这种方式你会后悔当一名android开发工程师。它的原理是在应用代码中设置渠道ID,使用的时候将渠道ID设置给数据分析接口,数据分析平台通过该渠道ID分析之。其实后面多渠道方式的本质原理都是这样的,但是具体扩展方式不同而已,将在后面的分析的时候介绍。

实现

  • 第一步:设置渠道id

方式一 在代码中直接设置channelId

String channelId="channel1";

方式二 在AndroidMainfest.xml中application中设置meta-data

<manifest ...>
    <application ...>
        <meta-data
            android:name="CHANNEL_NAME"
            android:value="channel1" />
        ...
    </application>
</manifest>

在代码中获取channelId

ApplicationInfo appInfo = this.getPackageManager()
                              .getApplicationInfo(getPackageName()
                              ,PackageManager.GET_META_DATA);
String channelId = appInfo.metaData.getString("CHANNEL_NAME");
  • 第二步:集成到sdk中,比如友盟sdk
MobclickAgent. startWithConfigure(UMAnalyticsConfig config)
UMAnalyticsConfig(Context context, String appkey, String channelId)
UMAnalyticsConfig(Context context, String appkey, String channelId, EScenarioType eType)
UMAnalyticsConfig(Context context, String appkey, String channelId, EScenarioType eType,Boolean isCrashEnable)

优缺点

在渠道较少(个位数)的时候可以使用,但对于多渠道的时候太耗时耗力了。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值