如何使用 AWSMobileClient 设置不同的配置 (awsconfiguration.json) 以进行调试和发布构建类型

2023-12-19

我想要不同的配置debug and release构建。所有配置都存储在里面awsconfiguration.json,例如我有两个不同的配置文件,如何设置应使用哪个文件。

使用时AWSMobileClient.getInstance()它从文件中获取默认配置awsconfiguration.json

配置文件示例:

{
  "Version": "1.0",
  "CredentialsProvider": {
    "CognitoIdentity": {
      "Default": {
        "PoolId": "DIFFERENT_VALUES",
        "Region": "DIFFERENT_VALUES"
      }
    }
  },
  "IdentityManager": {
    "Default": {}
  },
  "CognitoUserPool": {
    "Default": {
      "AppClientSecret": "DIFFERENT_VALUES",
      "AppClientId": "DIFFERENT_VALUES",
      "PoolId": "DIFFERENT_VALUES",
      "Region": "DIFFERENT_VALUES"
    }
  }
}

Update可以选择使用不同的awsconfiguration.json通过将不同的文件放入main\res\raw and release\res\raw,例如按照这个answer https://stackoverflow.com/a/26740076/1307690它有效。 但我想知道是否可以选择以编程方式执行此操作。


这也可以通过在 AWSConfiguration 中设置配置值然后初始化 AWSMobileClient 来实现。

    AWSConfiguration awsConfiguration = new AWSConfiguration(context);
    awsConfiguration.setConfiguration("Stage"); // BuildConfig can be used here.

    AWSMobileClient.getInstance().initialize(context, awsConfiguration,  new Callback<UserStateDetails>() {

        @Override
        public void onResult(UserStateDetails userStateDetails) {
        }

        @Override
        public void onError(Exception e) {
        }
    });

并且 awsconfiguration.json 文件可以更新如下

{
 "Version": "1.0",
 "CredentialsProvider": {
    "CognitoIdentity": {
        "Default": {
            "PoolId": "DIFFERENT_VALUES",
            "Region": "DIFFERENT_VALUES"
        },
        "Stage": {
            "PoolId": "STAGE_VALUES",
            "Region": "STAGE_VALUES"
        }
    }
 },
 "IdentityManager": {
    "Default": {},
    "Stage": {}
 },
 "CognitoUserPool": {
    "Default": {
        "AppClientSecret": "DIFFERENT_VALUES",
        "AppClientId": "DIFFERENT_VALUES",
        "PoolId": "DIFFERENT_VALUES",
        "Region": "DIFFERENT_VALUES"
    },
    "Stage": {
        "AppClientSecret": "STAGE_VALUES",
        "AppClientId": "STAGE_VALUES",
        "PoolId": "STAGE_VALUES",
        "Region": "STAGE_VALUES"
    }
 }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 AWSMobileClient 设置不同的配置 (awsconfiguration.json) 以进行调试和发布构建类型 的相关文章

随机推荐