支持华为IAP的多种构建类型

问题描述

遵循华为official docs,我能够将IAP集成到我们的应用程序中。我能够查询产品详细信息并执行订阅,因此对于版本版本,该集成工作正常。但是,我们有多种构建类型,例如: com.app com.app.beta com.app.debug

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

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

现在,我知道,可以通过使用发布证书签署Beta版本来避免这种情况,

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

,但这更像是一种解决方法,而不是解决方案。理想情况下,我们应该能够使用新的指纹来注册新的应用程序。该怎么做?

解决方法

  1. 如果您在 debug beta 中使用相同软件包名称但使用不同签名>发布环境中,在AppGallery Connect中配置所有签名。 same package
  2. 如果在调试测试版发行版环境中使用不同程序包名称和签名,则您实际上有三个应用程序。

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

在创建应用程序时,您可以选择一个包含其他环境中的应用程序的项目,以促进统一管理。 creating an app1 creating an app2

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