问题形容
更新游戏SDK到6.1.0.301版本之后,游戏包被审核驳回:在未装置或需更新华为挪动服务版本(HMS Core)的手机上,提醒装置华为挪动服务(HMS Core),点击勾销,游戏卡屏。批改倡议:请参考测试后果修复该问题,确保游戏能够失常运行。
问题复现
我在光荣7X手机上,先回退HMS Core版本(操作门路:手机-设置-利用治理-HMS Core,右上角有三个点,点进去卸载更新)后,复现了问题,问题细节点:启动游戏后,弹出装置或更新HMS Core的提示框,首次点击勾销,期待很久也没再次弹出提醒语,须要点击物理返回键之后才弹出(像是有个通明的界面遮挡住了,点击返回之后,通明界面隐没),再次点击勾销,就能够间接弹出了。
问题解决
咱们找到华为技术反对征询(提个工单征询cke_124.png),通过抓取全量日志后剖析:
依据日志查看是游戏界面调用了SDK初始化接口以及帐号登录接口,在低版本华为挪动服务的设施上,初始化解决接口先启动通明跳板页面BridgeActivity进行降级弹窗的拉起,同时帐号解决接口也启动通明版本BridgeActivity页面进行降级弹窗的拉起,此时有两个通明页BridgeActivity, 且HMS Core的降级弹窗是第一个页面拉起的。点击物理返回键,会敞开前一个BridgeActivity,此时就能够点击降级弹窗中的勾销按钮了。
简略来说,就是华为的框架BaseSDK在并发调用BridgeActivity状况下,会导致第一个调用无回调(这个问题华为那边后续会进行优化)。
发现并发调用BridgeActivity后,华为技术又去查看了咱们的代码,确认咱们并行调用了初始化和登录接口,6.1.0.301版本的游戏SDK增加了初始化的回调,倡议咱们在初始化胜利后再调用登录接口。批改之后,问题解决。
正确示例参考如下,详情请参考游戏启动。