【关键字】
未安装HMS Core、XXX无法正常运行、IAP应用内支付
【问题描述】
项目中接入了华为应用内支付SDK,在使用时调用了如下接口:
Iap.getIapClient(activity).isEnvReady
然后弹出了一个对话框,提示:“您的设备未安装最新版本的HMS Core,XXX无法正常运行”,详情跟下图中的弹框是一致的,如图所示:
使用的手机和操作系统是:三星手机 & Android10,
接入的应用内支付SDK版本是:com.huawei.hms:iap:6.4.0.301。
【问题分析】
在遇到上述报错之后,在华为开发者联盟论坛中找到了这样一个类似的发帖,链接如下:
https://developer.huawei.com/consumer/cn/forum/topic/0202851664909900171
按照论坛中的说明,点击按钮“知道了”并没有任何反应,论坛中的方案无法解决这个问题。
预期的结果应该是会下载HMS Core应用,实际效果与预期不符。个人推测可能是由于设备中卸载了HMS Core,然后项目中使用的6.4.0.301这个版本的IAP SDK不支持自动检测下载功能,所以只能通过查找相关资料,结合实际操作修改相应SDK版本进行测试。
【解决方案】
目前IAP SDK 6.4.0.301 版本要求设备上必须要有HMS Core APK,否则可能无法使用IAP相关能力。
但是如果应用不需要上架google 应用市场,那么就可以通过降低SDK的版本号,因为在6.4.0.301以下的版本中会检测是否安装HMS Core APK,如果没有安装,就会触发下载、安装等流程,比如可以使用6.3.0.300版本,详情如下图所示:
文档地址:
https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/version-change-history-0000001050065947
OK,通过以上方案就可以顺利解决这个问题了,下期再会!
欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.e1idc.net