如果应用有国际化需求,请执行如下操作:
多语言适配(英/法/俄)
检查接入的组件
检查接入了哪些组件,部分组件依赖的高德 SDK 或热修复组件可能无法通过 Google Play 的审核,需要替换或移除相关 SDK 或组件,以及部分三方 SDK 可能会向中国大陆发送数据,可根据需求决定是否移除相关组件。
使用蓝盾
使用蓝盾替换无线保镖,并根据需求决定是否配置多张蓝盾图片
多语言适配
英语
自 mPaaS Android 10.2.3.68 基线起,mPaaS SDK 已整体适配多语言 - 英语环境,可以将基线升级到 10.2.3.68 及以上版本,并使用 Android 官方 API Locale 手动设置语言为英语,或跟随手机系统语言。
法语/俄语
如还需要支持法语/俄语环境,请搜索群号 41708565 加入钉钉群或 提交工单 联系 mPaaS 技术支持人员获取对应的语言包,将相关资源放到工程的 res/values-fr/strings.xml
、res/values-ru/strings.xml
中,并使用 Android 官方 API Locale 手动设置法语/俄语,或跟随手机系统语言。
检查接入的组件
高德定位 & 地图
高德定位和地图 SDK 部分版本无法通过 Google Play 审核,请检查应用是否接入了以下组件:
小程序
Mriver 小程序
原生小程序(专有云)
智能投放
由于这些组件依赖了高德定位或地图 SDK,您需要根据您的接入方式手动移除相关依赖:
移除高德 SDK 依赖
原生 AAR 接入方式
在主 module 的 build.gradle
中配置如下内容:
configurations.all {
exclude group:'com.mpaas.group.amap', module: 'amap-build'
exclude group:'com.alipay.android.phone.thirdparty', module: 'amap3dmap-build'
exclude group:'com.alipay.android.phone.mobilecommon', module: 'lbs-build'
}
组件化(Portal & Bundle)接入方式
在主 module 的 build.gradle
中配置如下内容:
mpaascomponents {
excludeDependencies = [
"com.mpaas.group.amap:amap-build",
"com.alipay.android.phone.thirdparty:amap3dmap-build",
"com.alipay.android.phone.mobilecommon:lbs-build",
]
}
使用定位组件
如接入了定位组件,需要按照上文所述的方式移除 amap-build
和 amap3dmap-build
,但不能移除 lbs-build
,并引入高德官网提供的可以通过 Google Play 审核的版本。以下是 mPaaS 所使用的高德 SDK 版本,以便选取相同或相近的过审版本。
'com.alipay.android.phone.mobilecommon:AMap-2DMap:5.2.1_20190114@jar'
'com.alipay.android.phone.mobilecommon:AMapSearch:6.1.0_20180330@jar'
'com.alipay.thirdparty.amap:amap-location:4.7.2.20190927@jar'
热修复
由于 Google Play 禁止应用动态下发可执行的代码文件,接入热修复可能会导致您的应用存在拒审风险,推荐您不接入热修复组件。
三方 SDK 数据发送
mPaaS SDK 中引入的三方 SDK 可能会向设立于中国大陆的服务器发送请求,如不希望应用向中国大陆发送数据,请您检查并确保未引入以下组件:
UC 内核
分享
推送 - 小米
定位
优酷播放器
并参考前述章节 移除高德 SDK 依赖。
使用蓝盾
使用蓝盾替换无线保镖
由于 mPaaS SDK 中的无线保镖已停止维护,无法保证适配 targetSdkVersion 34 及以上版本,请参考 mPaaS 10.2.3 支持无线保镖&蓝盾切换 进行替换。
蓝盾配置多张图片
mPaaS 组件向网关发送请求时会使用蓝盾加签,相关信息保存在蓝盾图片中,蓝盾图片与应用使用的签名绑定,如果应用的签名发生变化,需要重新生成蓝盾图片,否则请求会验签失败。
如您的应用需要在不同场景下使用多个签名,例如:
启用了 Google Play 的重签名机制
使用 v3 签名的密钥轮替功能
您可以按照以下步骤操作:
使用签名 1 构建 apk,参考文档 生成蓝盾图片,默认的图片路径为
assets/abs_1222.jpg
,将该图片重命名,如abs_1222_jks1.jpg
。使用签名 2 构建 apk,参考文档 生成蓝盾图片,将该图片重命名,例
abs_1222_jks2.jpg
。(可选)如使用 Google Play 重签名机制,可直接从商店下载重签名后的 apk 来生成蓝盾图片。
此时您的工程 assets 目录下有两张蓝盾图片:
assets/abs_1222_jks1.jpg
assets/abs_1222_jks2.jpg
在应用启动时调用以下 API,设置需要使用的蓝盾图片:
MPBS.setBSAuthCodeDynamically(String bsAuthCode);
支持该 API 的基线版本为 10.2.3.67 及以上版本。
参数
bsAuthCode
为蓝盾图片名,不带后缀,例如图片为abs_1222_jks1.jpg
则参数应传入abs_1222_jks1
,如不调用则会使用默认图片名abs_1222
。调用时机必须在 mPaaS 初始化前,推荐在
attachBaseContext
方法中调用,一旦 mPaaS 初始化完成,再次调用该 API 则无法生效。
您可以根据需要自行判断使用哪一张图片,示例代码如下。
// v3 签名从 Android 9 开始支持 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { MPBS.setBSAuthCodeDynamically("abs_1222_jks2"); } else { MPBS.setBSAuthCodeDynamically("abs_1222_jks1"); } // Google Play 重签名的应用会下发到 Android 13+ 设备 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { MPBS.setBSAuthCodeDynamically("abs_1222_jks2"); } else { MPBS.setBSAuthCodeDynamically("abs_1222_jks1"); }