问题描述
最近项目组应用集成华为的HMS Core SDK相关能力后,发布地区选择中国大陆,提交审核,华为审核驳回:在低于2.5.3版本的华为移动服务手机上启动时或调出支付时拉起升级提示为英文,正确的应该是中文。
错误提示如下:
正确提示应该如下:
问题分析
我这边项目开发使用的是Android Studio,根据以往项目集成三方SDK经验,我猜测这个提示语是华为HMS SDK资源文件提供的,初步怀疑是资源文件缺失,因此我优先检查了下当前项目工程中下载的HMS SDK多语言资源文件,最后成功在项目的External Libraries > Gradle:com.huawei.hms:ui-4.0.4.301 > res > value-zh-rCN下找到了values-zh-Rcn.xml文件,说明我的中文提示语资源文件没有缺失。
有图有真相,那么问题来了,为啥我的不展示呢?
问题原因
最后通过这个提单系统(https://developer.huawei.com/consumer/cn/support/feedback/#/)联系华为技术支持答疑了下,原来是因为我在项目中做了多语言设置,官网文档中也有说明:
然而我配置的是什么呢?
OMG,华为的中国大陆语言包名称是下面的,我这里配置和官网文档的配置不一致。
最后修改"zh"为"zh-rCN",找了一个vivo手机,应用管理中搜索华为移动服务或HMS Core,然后卸载,启动应用终于提示是中文的了。
重新提交审核通过,完美~~
问题总结
最后写个帖子给项目组,顺便分享给大家啦,不要叫我雷锋!!!
如果你使用Eclipse集成HMS SDK,检查重点:是否修改或缺失了华为HMS SDK的相关多语言资源包,华为语言包一般在res目录下,不要随意修改华为的语言包名称。
如果你使用Android Studio集成HMS SDK,检查重点:
检查下载的HMS SDK相关多语言资源包(res目录下)是否缺失或修改
检查android > defaultConfig中有没有新增resConfigs支持语种的配置,如果有,重点检查支持的语言和华为的多语言包名称一致。尤其是"zh-rCN"不要写成"zh",这个跟其他渠道的命名有点区别,注意注意~
原文链接:https://developer.huawei.com/consumer/cn/forum/topic/0201405825468650263?fid=18
原作者:Mayism