公司多环境配置shareSdk,在manifestPlaceholders中配置了无法生效,如下图。
多个环境都配置了MobSDK的信息,有QA和Release环境,QA环境分享ok,但是relesae环境分享提示,包名不一致。确认了填写的appkey和secret信息都是正确的。联系了官网客服人员,解析了apk,发现MobSdk配置的信息只取了manifestPlaceholders第一个环境的,后面的并没有生效,但是我appname啥的都是生效的,极光推送也是生效的,微信的appid也是生效的,过了半个小时,客服的回复是:MobSdk不支持这种写法。(ps:吐槽下客服,官网跳转QQ直接没有客服,400的电话也打不通,自动回复留的是一个手机号码,打了手机号码才有人回复。)
故改用其他方式。
1、build.gradle中配置如下
配置平台信息 MobSDK { ShareSDK { loopshare true devInfo { Wechat { enable true } } } }
配置平台申请的appid和AppSecret
2、application中初始化
MobSDK.init(getApplicationContext(), BuildConfig.MOB_APPID,BuildConfig.MOB_APPSECRET ); // 微信属性配置 HashMap<String, Object> wetchatMap = new HashMap<>(); wetchatMap.put("AppId", BuildConfig.WX_APPID); wetchatMap.put("AppSecret", BuildConfig.WX_APPSECRET); wetchatMap.put("Enable", true); ShareSDK.setPlatformDevInfo(Wechat.NAME, wetchatMap); MobSDK.submitPolicyGrantResult(true, null);(不设置会导致分享页面就是一个灰色的蒙层)