华为利用内领取服务(In-App Purchases,IAP)为开发者提供便捷的利用内领取体验和简便的接入流程。开发者的利用集成IAP SDK后,调用IAP SDK接口,启动IAP收银台,即可实现利用内领取。在集成过程中,开发者可能会遇到报错的问题,这时咱们能够通过查找日志中的tag的办法对问题疾速进行排查和定位,以下咱们会联合两个理论问题来看如何应用这个办法。

问题一:某开发者调用华为利用内领取SDK,拉起收银台页面,提醒“以后领取服务不可用,请稍后再试”。具体参考下图:

问题剖析

1.首先咱们确认调用的是IAP哪个接口。

通过查看开发者给的日志咱们发现调用的是非PMS接口(通过过滤IapClientImpl,咱们能够查问调用的接口名)

2.如果是pms,那么调用的收银台接口名为createPurchaseIntent,如果是非pms接口,则调用的接口名为createPurchaseIntentWithPrice。

3.依据对话框提醒领取服务不可用,可能是领取服务api开关未关上或者某些地区不反对领取。依照这个思路咱们进行定位,在日志中搜寻tag: “hms_pay”:

日志显示以后的服务地是法国,但目前利用内领取服务购买非PMS商品只反对中国大陆,所以会提醒领取不可用。

解决办法

在利用市场将服务地切换回国内,具体操作如下:利用市场 -> 设置 –> 国家/地区 –> 中国。

问题总结

开发者在调试过程中,如果呈现接口不通,或者提醒谬误时,能够应用以下tag来进行问题定位:

HMSSDK: 能够通过此tag查问到HMS Core SDK框架侧是否异样,如6003,6004,90713XXXX等错误码,当然也会蕴含IAP SDK侧错误码。如60002,60050等

hms_pay: 如果呈现60002,60050等IAP SDK侧错误码,能够通过IAP APK侧来剖析可能呈现的问题,即能够用该tag进行后续APK侧日志的定位剖析。

Network-Request:这个tag其实也属于hms_pay上面的,属于服务测返回的错误码,咱们能够依据服务侧返回的错误码以及谬误形容,对照服务测文档进行初步排查和定位。如8、9、11、12等错误码。

问题二:某位开发者在调用“isEnvReady“办法时报错,提醒“本利用未在以后国家/地区公布”具体参考下图:

问题剖析

首先咱们在日志上查找Tag 为HMSSDK 和 hms_pay, 发现60007错误码,比照业务错误码,提醒商品配置的地区没有散发到该国家。

咱们依据错误码提醒去AGC网站上查问公布国家和地区,发现目前利用公布地设置在欧洲,但以后登录的帐号在中国大陆,所以会提醒该谬误。

解决办法

关上AGC网站,在利用上架 –>筹备提交页面,将公布国家或地区勾选上中国大陆(如果想在某个国家或地区上架,须要勾选上对应国家或地区),勾选后点击保留,变更后个别在几个小时内会失效。

问题总结

和问题一的定位思路基本一致。依据错误码来进行初步定位。首先要依据客户端错误码判断可能存在的问题,如果咱们曾经拿到对应的客户端错误码,那么依据官网的错误码含意和解决方案解决即可。

理解更多详情>>

拜访华为开发者联盟官网
获取开发领导文档
华为挪动服务开源仓库地址:GitHub、Gitee

关注咱们,第一工夫理解 HMS Core 最新技术资讯~