Android 获取app的友盟多渠道的标识

写在前面
因app的业务需求,需要针对不同的渠道,提示不同的app升级弹窗提示,和不用的推送提示。
那么就需要在和服务器交互之前,获取我们的渠道标识,再进一步的完成后续的交互。
友情提示
方法一:适用范围–友盟统计+gradle配置多渠道打包的方式。
方法二:没有范围,使用友盟自己的API方法。
方法一
在app中的使用方法,搞成工具类就ok

     /**
     * 获取渠道名
     * @param context 此处习惯性的设置为activity,实际上context就可以
     * @return 如果没有获取成功,那么返回值为空
     */
    public static String getChannelName(Context context) {
        if (context == null) {
            return null;
        }
        String channelName = null;
        try {
            PackageManager packageManager = context.getPackageManager();
            if (packageManager != null) {
                //注意此处为ApplicationInfo,因为友盟设置的meta-data是在application标签中
                ApplicationInfo applicationInfo = packageManager.
                        getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA);
                if (applicationInfo != null) {
                    if (applicationInfo.metaData != null) {
                            //这里的UMENG_CHANNEL要与manifest中的配置文件标识一致
                        channelName = String.valueOf(applicationInfo.metaData.get("UMENG_CHANNEL"));
                    }
                }

            }
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        return channelName;
    }

再附上我的manifest文件中,友盟的配置信息,以供参考。

   <meta-data
            <--这里的UMENG_CHANNEL的标识一定和上面的保持一致-->
            android:name="UMENG_CHANNEL"
            android:value="${channelName}" />

方法二
使用友盟的api中的方法获取渠道标识,这种方法也是最简单的。

String channel_name= AnalyticsConfig.getChannel(this);

最后,这两种方法都可以获取到渠道标识。对比一、二方法,方法二固然简单,但是局限性还是有的;相对而言,方法一,先获取packageMananger,再去获取Application中的信息,进而获取mate-data中的数据,这样我们能拿到的信息就不仅仅渠道标识了,还可以做更多的事情。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值