我正在尝试连接华为 IAP SDK 以进行应用内支付。在开发者控制台中添加应用程序和一些应用程序项目后,我尝试运行 Iap.getIapClient(activity).isBillingSupported 方法,但得到了 com.huawei.hms.support.api.iap.json.IapApiException: 6003强>错误。无法获取有关该状态代码的任何信息,这是什么意思。有人知道吗?
最佳答案
我遇到了同样的问题,这是解决方法。该错误清楚地表明 6003
-> StatusCode.CERT_FINGERPRINT_ERROR
。由于缺少证书,华为似乎无法验证应用程序的原创性。
你要么没有将 agconnect
添加到你的项目中,要么你正在以不同的构建类型运行(比如调试,这是我的问题,因为我添加了几个 agconnect
几天前)。
如果您没有将 agconnect
添加到您的项目中,请务必添加它。有一个官方教程如何添加它,但简而言之:
首先你需要在你的项目中添加agconnect
依赖,从华为开发者(从你的App)下载agconnect-services.json
文件。您需要使用keytool
获取一个SHA256
指纹并将这个长指纹添加到您的Huawei 的Developer 字段中。
https://developer.huawei.com/consumer/en/doc/development/HMS-Guides/iap-configuring-appGallery-connect#certificate
如果您添加了 agconnect
(就像我几天前所做的那样)并且错误仍然存在,那是因为您在 debug
或任何其他不同的构建类型中运行比什么你的正式发布。如果您在 debug
中运行,请确保将签名证书添加到您的 debug
构建类型。
signingConfigs {
release {
storeFile file('C:\\path-to-your\project\signing-certificate.jks')
keyAlias 'aliasOfYourCertificate'
keyPassword 'theKeyPasswordOfCertificate'
storePassword 'theStorePasswordOfCertificate'
}
}
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
signingConfig signingConfigs.release
}
}
所以这里的关键是将 signingConfig
添加到您的 debug
构建类型(如果您在调试中运行)。
关于android - 尝试连接华为 IAP SDK 进行 Inapp 支付 - 6003 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59288827/