尝试连接华为 IAP SDK 进行 Inapp 支付 - 6003 错误

A.R*_*ein 4 android huawei-mobile-services

我正在尝试连接华为 IAP SDK 以进行 Inapp 支付。在开发者控制台中添加应用程序和一些应用程序项目后,我尝试运行 Iap.getIapClient(activity).isBillingSupported 方法,但得到com.huawei.hms.support.api.iap.json.IapApiException: 6003错误。无法获得有关该状态代码的任何信息,这是什么意思。有人知道吗?

Zba*_*ian 8

我有同样的问题,这里是修复。错误清楚地表明6003-> StatusCode.CERT_FINGERPRINT_ERROR。由于缺少证书,华为似乎无法验证该应用程序的原创性。

你要么没有添加agconnect到你的项目中,要么你在不同的构建类型中运行(比如调试,这是我的问题,因为我agconnect几天前添加了)。

如果您没有agconnect在项目中添加,请确保添加它。有一个官方教程如何添加它,但简而言之:

首先你需要将agconnect依赖添加到你的项目中,agconnect-services.json从华为的开发者(从你的应用程序)下载文件。您需要获取SHA256指纹keytool并将这个长指纹添加到您的华为开发者字段中。 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
    }
}
Run Code Online (Sandbox Code Playgroud)

所以这里的关键是添加signingConfig到你的debug构建类型(如果你在调试中运行)。


小智 0

  1. 检查华为开发者联盟中证书指纹配置是否正确。登录华为开发者联盟,进入管理中心 > 我的产品,选择需要指纹证书的服务。在产品服务列表中查看SHA256证书指纹与您获取的SHA256证书指纹是否一致。如果不是,请修改SHA256证书指纹,然后清除HMS缓存。
  2. 如果问题仍然存在,请联系华为客服。

资源:https ://developer.huawei.com/consumer/en/service/hms/catalog/huaweiid.html?page=hmssdk_huaweiid_api_reference_errorcode