2

我想使用 Push Kit,并在我的项目中使用产品风格。我的项目中有 4 种不同的构建变体和包名称。

在此处输入图像描述

包名称:

variant: blueDebug           -  package_name: com.omfaer.pflavors.blue.debug
variant: blueRelease         -  package_name: com.omfaer.pflavors.blue
variant: developmentDebug    -  package_name: com.omfaer.pflavors.debug
variant: developmentRelease  -  package_name: com.omfaer.pflavors

我已将 agconnect-services.json 添加到不同的目录。它以这种方式工作。

在此处输入图像描述

我的问题:

是否可以将所有客户端信息仅写入一个 agconnect-services.json 文件。我不能将客户信息作为数组写入 json 文件吗?

例如,我通过为以下两种不同的调试变体编辑 json 文件来尝试此操作,但它不起作用。

{
    "agcgw":{
        "websocketbackurl":"connect-ws-dre.hispace.dbankcloud.cn",
        "backurl":"connect-dre.dbankcloud.cn",
        "websocketurl":"connect-ws-dre.hispace.dbankcloud.com",
        "url":"connect-dre.hispace.hicloud.com"
    },
    "client":[
        {
            "appType":"1",
            "cp_id":"****************",
            "product_id":"************",
            "client_id":"************",
            "client_secret":"********************",
            "project_id":"******************",
            "app_id":"123456789", 
            "api_key":"********************************************",
            "package_name":"com.omfaer.pflavors.debug"
        },
        {
            "appType":"1",
            "cp_id":"****************",
            "product_id":"************",
            "client_id":"************",
            "client_secret":"********************",
            "project_id":"******************",
            "app_id":"987654321",
            "api_key":"********************************************",
            "package_name":"com.omfaer.pflavors.blue.debug"
        }
    ],

    ...
}

我查看了华为 Push Kit 文档和 SDK 集成文档。我查看了下面的链接。我还查看了示例代码。

https://developer.huawei.com/consumer/en/doc/development/AppGallery-connect-Guides/agc-config-flavor

https://developer.huawei.com/consumer/en/doc/development/HMSCore-Guides/service-introduction-0000001050040060

https://developer.huawei.com/consumer/en/doc/development/HMSCore-Examples/client-sample-code-0000001051066000

应用程序/build.gradle

android {
    ...

    signingConfigs {
        release{
            storeFile file('keystore.jks')
            keyAlias '***'
            keyPassword '********'
            storePassword '********'
            v1SigningEnabled true
            v2SigningEnabled true
        }
    }

    buildTypes {
        release {
            signingConfig signingConfigs.release
            debuggable true
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }

        debug {
            signingConfig signingConfigs.release
            debuggable true
            applicationIdSuffix = '.debug'
        }
    }

    flavorDimensions "default"
    productFlavors {
        development {
            minSdkVersion 19
            resConfigs("en", "xhdpi")
            dimension "default"
        }
        blue {
            applicationIdSuffix = '.blue'
            dimension "default"
        }
    }
    
    ...
}

有解决方案吗?你能帮忙吗?

4

1 回答 1

1

问题中没有 .blue.debug 的 .json 文件。最好的方法是什么?我应该在“debug”目录下创建“blue”目录还是在“blue”目录下创建“debug”目录?你有什么其他的建议?

你需要在AGC上创建一个.blue.debug项目,并下载对应的JSON文件,然后在项目中创建一个flavor,文件夹可以任意命名,只要flavor对应的包名是.blue.debug . 然后把JSON文件放到这个文件夹里就可以了。

于 2021-02-01T07:15:44.773 回答