【问题标题】:Supporting Huawei IAP for multiple build types支持多种构建类型的华为 IAP
【发布时间】:2020-10-29 07:45:58
【问题描述】:

在华为official docs 之后,我能够将 IAP 集成到我们的应用程序中。我能够查询产品详细信息并执行订阅,因此 release 构建的集成工作正常。但是,我们有多种构建类型,想象一下:com.appcom.app.betacom.app.debug

为了支持多种构建风格,我按照per docs here 的建议进行了必要的更改。 然而,仅仅在 beta 构建上拥有 IAP 是不够的。在 beta 版本中与华为 SDK 的任何交互都会导致:CERT_FINGERPRINT_ERROR = 6003,这是有道理的,因为在华为控制台中注册的 SHA256 是用于发布证书的,而不是用于 beta 证书的。

我的问题是如何注册一对新的 com.app.debug/SHA256 以获得 beta 证书,以便我也可以在其他构建类型上测试 IAP?

现在,我知道,可以通过使用发布证书签署 beta 版本来避免这种情况,如下所示:

buildTypes {
    beta {
       signingConfg.release   // <---- use release config 
 
       // .....
    }
}

但这更像是一种解决方法而不是解决方案。理想情况下,我们应该能够使用新指纹重新注册一个新应用程序。如何做到这一点?

【问题讨论】:

    标签: android huawei-mobile-services huawei-push-notification


    【解决方案1】:
    1. 如果您在 debugbeta 中使用 相同 包名称但 不同 签名>发布环境,在AppGallery Connect中配置所有签名。
    2. 如果您在 debugbetarelease 环境中使用 不同 包名称和签名,您实际上有三个应用程序。

    在这种情况下,您需要在AppGallery Connect中创建应用并配置相应的签名。

    在创建应用时,可以选择包含其他环境应用的项目,方便统一管理。

    您可以在同一个项目中查看和修改不同应用的配置,如下图所示。

    【讨论】:

    • 感谢@shirley 的详细回答!在我们的例子中,我们有第二种情况:不同的包名称和签名。好的,我知道我要再创建两个应用程序,但是我没有看到在哪里配置它们对应的签名,即:在哪里引入这些应用程序的 sha256 指纹?从什么看,签名配置是在项目级别完成的,还是我遗漏了什么?
    • @AndyRes 是的,要配置签名证书指纹,您可以单击我的项目,然后单击所需的应用名称。然后转到项目设置 > 一般信息。请参考docs
    • 我想我理解我这边出了什么问题...我创建的其他应用程序没有添加到项目中,因此我在下拉列表中看不到它们。我将重新创建它们并确保将它们添加到我的项目中。再次感谢您,您的反馈非常宝贵!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    • 1970-01-01
    相关资源
    最近更新 更多