Android多渠道打包时怎么获取当前渠道

  介绍

这篇文章主要介绍Android多渠道打包时怎么获取当前渠道,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

Android是什么

Android是一种基于Linux内核的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由美国谷歌公司和开放手机联盟领导及开发。

作为Android应用程序,发布多个分发平台是常规操作,然后,有时由于个渠道面对的用户不同,或平台审核标准不同,需要在各渠道使用不同的业务逻辑,这就需要根据渠道使用选择差异化代码。

这里把简单的代码记一下。

首先,分渠道打包很简单。

在项目的构建。gradle里设置

android  {   …   productFlavors  {   ,,,home_site  {   ,,,,,dimension “money"   ,,,,,manifestPlaceholders =, (UMENG_CHANNEL_VALUE:“home_site")   ,,,}   ,,,main_store  {   ,,,,,dimension “money"   ,,,,,manifestPlaceholders =, (UMENG_CHANNEL_VALUE:“main_store")   ,,,}   ,,,other_store  {   ,,,,,dimension “money"   ,,,,,manifestPlaceholders =, (UMENG_CHANNEL_VALUE:“other_store")   ,,,}   ,,}   }

其中的,尺寸是维度,通过,flavorDimensions设置。

defaultConfig  {   ,,,…   ,,,flavorDimensions “money"   以前,,}

设置维度主要是为了管理方便。

这个项目里总共设置了三个渠道

其中,UMENG_CHANNEL_VALUE可以随便命的名,不过项目里的友盟统计会需要用到渠道名,所以这里就用“友盟”的命名方法了。

接下来就是获取当前的渠道名,这样就可以根据不同的渠道包设置不同的逻辑,比如设置某一模块在某些平台发布的版本隐藏,而再另一些平台的版本上显示。

首先,需要在,AndroidManifest。xml文件定义信息变量。

& lt;应用程序   ,,,android:图标=癅mipmap/logo"   ,,,android:标签=癅string/app_name"   ,,,android: name=?App"   ,,,android: roundIcon=癅mipmap/logo"   ,,,android:主题=癅style/AppTheme.NoActionBar"比;   ,,,…   ,,,& lt;元数据   ,,,,,android: name=癈HANNEL_NAME"   ,,,,,android: value=https://www.yisu.com/zixun/" $ {UMENG_CHANNEL_VALUE} "/>   

然后就可以在应用程序或活动中获取了。

ApplicationInfo  ApplicationInfo =,空;   ,,,try  {   ,,,,,applicationInfo =, getPackageManager () .getApplicationInfo (getPackageName (),, PackageManager.GET_META_DATA);   ,,,,,if  (applicationInfo ==, null), {   ,,,,,,,返回;   ,,,,,}   ,,,,,String  value =, applicationInfo.metaData.getString (“CHANNEL_NAME");   ,,,,,CommonConfig.CHANNEL_NAME=价值;   ,,,,,//按渠道设置差异化代码   ,,,,,System.out.println (“CHANNEL_NAME:“+价值);   ,,,,,switch (值){   ,,,,,,,case “home_site":   ,,,,,,,,,//逻辑1   ,,,,,,,,,休息;   ,,,,,,,case “main_store":   ,,,,,,,,,//逻辑2   ,,,,,,,,,休息;   ,,,,,,,case “other_store":   ,,,,,,,,,//逻辑3   ,,,,,,,,,休息;   ,,,,,}   ,,,},catch  (PackageManager.NameNotFoundException  e), {   ,,,,,e.printStackTrace ();   ,,,}

以上是“Android多渠道打包时怎么获取当前渠道“这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

Android多渠道打包时怎么获取当前渠道