我的应用程序对Google地图和Google Places使用react-native-maps和react-native-google-places软件包,这两个软件包都将google api密钥存储在AppDelegate.m(IOS)和AndroidManifest.xml中( Android)。我目前正在使用react-native-config将google api密钥存储在.env文件中。
我的问题是,我的应用允许用户选择他们的国家,我想为不同的国家使用不同的Google api键。因此,如何根据所选国家/地区在.env文件中进行条件检查,然后将Google api密钥传递给AppDelegate和AndroidManifest?
如果.env文件中不允许进行条件检查,是否还有其他方法可以这样做?
.env文件
ENV=uat
GOOGLE_API_KEY_COUNTRY_A=abcdefghilkj
GOOGLE_API_KEY_COUNTRY_B=jdu8hjffh399
AndroidManifest.xml
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/GOOGLE_API_KEY_COUNTRY_A" />
AppDelegate.m
NSString *googleApiKey = [ReactNativeConfig envFor:@"GOOGLE_API_KEY_COUNTRY_A"];
[GMSServices provideAPIKey:googleApiKey];
[GMSPlacesClient provideAPIKey:googleApiKey];