我们正在开发一个使用谷歌地图的Android应用程序。
现在,出于开发目的,我们正在使用这样的密钥:
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key" />
和
<string name="google_maps_key">KEY_HERE</string>
出于部署目的,我们将实施"携带您自己的密钥"方法,每个购买产品的客户也将使用他的密钥。
我知道这很奇怪,也有点不必要,但这是一个大公司的过程,这个决定来自"高层"。
有什么方法可以让我们拥有动态密钥吗?比如把钥匙放进服务中,然后在应用程序中消费,或者诸如此类的事情?
感谢您的帮助。
根据文档,这在Google API V2中是不可能的API密钥必须使用Manifest文件进行分配。
https://developers.google.com/maps/documentation/android/start#adding_the_api_key_to_your_application
但这对于MapView来说是可能的。
如果直接从代码中实例化MapView,则应在MapView构造函数中传递Maps API键。
代码:
@Override
protected void onCreate(.....) {
super.onCreate(....);
mMapView = new MapView(this, YOUR_MAP_API_KEY); //pass key to MapView Constructor here
setContentView(mMapView);
// ....
}