我正在开发一个Android应用程序,以为共享同一数据源的两个不同的构建变体获取两个不同的Rest API。我将产品风味用于构建变体。但是我不知道如何配置Retrofit部分以针对不同的构建变体选择不同的API。
预先感谢
答案 0 :(得分:1)
您可以创建一个BuildConfig Field,根据您的产品口味向API客户端提供不同的 REST API URL :
打开您的 build.gradle (应用级别)文件,并将以下几行添加到您的 android块:
display:flex
现在重建项目,然后您可以访问项目中的 if (event.message.text.match(/authorize/g)) {
var client_id = 'OCauEBdxUEXXXXXXXXXXXXXDnwPoKwGgESB';
var client_secret = '8zsIv2wflcITDGXqgD7YKzTYfXXXXXXXXXXXXTGNL56BkDSh5licnUxufK6fU6FmZuhEsjVVUEjXsoFFly37zdptRogmRFCMLaCLMkYW2xvGhaOk5M3InE';
var auth_url = "https://fce3c477.ngrok.io/oauth/chat-bot/";
var redirect_uri = event.configCompleteRedirectUrl;
var url = auth_url +'?redirect_uri='+redirect_uri;
url = url + '&client_id=' + client_id
console.log(event.message);
console.log(event.configCompleteRedirectUrl);
return {
"actionResponse": {
"type": "REQUEST_CONFIG",
"url": url,
}
};
}
,具体取决于您选择的产品风格。
答案 1 :(得分:0)
对于调试版本,您可以使用
// setting up retrofit
.baseUrl(if (BuildConfig.DEBUG) {
"https://debug.server"
} else {
"https://release.server"
})
想要品尝,可以尝试
// setting up retrofit
.baseUrl(if (BuildConfig.FLAVOR == "test") {
"https://debug.server"
} else if(BuildConfig.FLAVOR == "staging"){
"https://staging.server"
} else {
"https://release.server"
})