To use the Google Maps Android API, you must register your app project on the Google Developers Console and get a Google API key which you can add to your app. Note: There are various types of API keys. You need an Android key not a browser key.
- If you're using the standard API, you need an Android key set up in a project of your choice.
- Google Maps APIs Premium Plan customers need an Android key set up in the Google Maps Premium project (the project created for you when you purchased the Premium Plan). If you would like to purchase a Premium Plan license, please contact sales.
Overview
Your API key is based on a short form of your app's digital certificate. All Android apps are signed with a digital certificate for which you hold the private key. (Refer to the Android guide to signing your applications for more information about digital certificates.)
API keys for Android are linked to specific certificate/package pairs. You only need one key for each certificate, no matter how many users you have for the app.
Getting an API key for your app requires several steps. These steps are outlined below, and described in detail on the rest of this page.
- Get information about your app's certificate.
- Register a project in the Google Developers Console if you don't already have one, add the Google Maps Android API as a service for the project, and create an API key.
- Add the key to your app by adding an element to your app manifest.
Display your app's certificate information
The API key is based on a short form of your app's digital certificate, known as its SHA-1 fingerprint. To display the SHA-1 fingerprint for your certificate, first ensure that you are using the right certificate. You may have two certificates:
- A debug certificate: The Android SDK tools generate this certificate automatically when you do a debug build. Only use this certificate with apps that you're testing. Do not attempt to publish an app that's signed with a debug certificate. The debug certificate is described in more detail in Signing in Debug Mode in the Android Developer Documentation.
- A release certificate: The Android SDK tools generate
this certificate when you do a release build. You can also generate this
certificate using the
keytoolprogram. Use this certificate when you are ready to release your app to the world.
Follow the steps below to display a certificate's SHA-1 fingerprint using
the keytool program with the -v parameter. For more
information about Keytool, see the
Oracle documentation.
Displaying the debug certificate fingerprint
Locate your debug keystore file. The file name is
debug.keystore, and is created the first time you build your project. By default, it is stored in the same directory as your Android Virtual Device (AVD) files:- OS X and Linux:
~/.android/ - Windows Vista and Windows 7:
C:\Users\your_user_name\.android\
- OS X and Linux:
List the SHA-1 fingerprint:
For Linux or OS X, open a terminal window and enter the following:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
For Windows Vista and Windows 7, run:
keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
You should see output similar to this:
Alias name: androiddebugkey
Creation date: Jan 01, 2013
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4aa9b300
Valid from: Mon Jan 01 08:04:04 UTC 2013 until: Mon Jan 01 18:04:04 PST 2033
Certificate fingerprints:
MD5: AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6A:AC:F9
SHA1: BB:0D:AC:74:D3:21:E1:43:07:71:9B:62:90:AF:A1:66:6E:44:5D:75
Signature algorithm name: SHA1withRSA
Version: 3
Displaying the release certificate fingerprint
-
Locate your release certificate keystore file. There is no default location or name for the release keystore. If you don't specify one when you build your app for release, the build will leave your
.apkunsigned, and you'll have to sign it before you can publish it. For the release certificate, you also need the certificate's alias and the passwords for the keystore and the certificate. You can list the aliases for all the keys in a keystore by entering:keytool -list -keystore your_keystore_name
Replace
your_keystore_namewith the fully-qualified path and name of the keystore, including the.keystoreextension. You'll be prompted for the keystore's password. Thenkeytooldisplays all the aliases in the keystore. -
Enter the following at a terminal or command prompt:
keytool -list -v -keystore your_keystore_name -alias your_alias_name
Replace
your_keystore_namewith the fully-qualified path and name of the keystore, including the.keystoreextension. Replaceyour_alias_namewith the alias that you assigned to the certificate when you created it.
You should see output similar to this:
Alias name: <alias_name>
Creation date: Feb 02, 2013
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4cc9b300
Valid from: Mon Feb 02 08:01:04 UTC 2013 until: Mon Feb 02 18:05:04 PST 2033
Certificate fingerprints:
MD5: AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6B:AC:F9
SHA1: BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:90:AF:A1:66:6E:44:5D:75
Signature algorithm name: SHA1withRSA
Version: 3
The line that begins with SHA1 contains the certificate's SHA-1
fingerprint. The fingerprint is the sequence of 20 two-digit hexadecimal
numbers separated by colons.
Get an API key from the Google Developers Console
If you are using the standard Google Maps Android API:
To get started using the Google Maps Android API, click the button below, which takes you to the Google Developers Console, guides you through the process, and activates the Google Maps Android API automatically.
Get a KeyAlternatively, follow these steps to get an API key:
- Go to the Google Developers Console.
- Create or select a project.
- Click Continue to enable the API.
- Go to Credentials to get an Android key and set the API
credentials.
Note: If you have an existing Android key, you may use that key. In the resulting dialog, enter your app's SHA-1 fingerprint and package name. For example:
BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
com.example.android.mapexample
Your new Android key appears in the list of API keys for your project. An API key is a string of characters, something like this:
AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0
You can also
look up an existing key in the Google Developers Console.
For more information, see Developers Console Help.
If you have purchased a Google Maps APIs Premium Plan license:
To get started using the Google Maps Android API, click the button below, which takes you to the Google Developers Console, guides you through the process, and activates the Google Maps Android API automatically. Note: In the project drop-down menu, be sure to select the project created for you when you purchased the Google Maps APIs Premium Plan.*
Get a KeyAlternatively, follow these steps to get an API key:
- Go to the Google Developers Console.
- From the Project drop-down menu, select the Google Maps Premium project.*
- Click Continue.
- On the Credentials page, get an Android key and set the API credentials.
In the resulting dialog, enter your app's SHA-1 fingerprint and package name. For example:
BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
com.example.android.mapexample
Your new Android key appears in the list of API keys for your project. An API key is a string of characters, something like this:
AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0
You can also
look up an existing key in the Google Developers Console.
For more information on using the Google Developers Console, see Developers Console Help.
Types of API keys
Google Maps APIs are available for Android or iOS apps, for browser-based apps, and via HTTP web services. APIs on each platform require a specific type of key. The Google Maps Android API works only with an Android key. Apps of the same platform type can use the same key.
Add the API key to your application
Follow the steps below to include the API key in your application's manifest,
contained in the file AndroidManifest.xml.
- In
AndroidManifest.xml, add the following element as a child of the<application>element, by inserting it just before the closing</application>tag:<meta-data android:name="com.google.android.geo.API_KEY" android:value="YOUR_API_KEY"/>Substitute your API key for YOUR_API_KEY in the
valueattribute. This element sets the keycom.google.android.geo.API_KEYto the value of your API key. - Save
AndroidManifest.xmland re-build your application.
Note: As shown above,
com.google.android.geo.API_KEY is the recommended metadata name
for the API key. A key with this name can be used to authenticate to multiple
Google Maps-based APIs on the Android platform, including the
Google Maps Android API. For backwards compatibility, the API also
supports the name com.google.android.maps.v2.API_KEY. This legacy
name allows authentication to the Android Maps API v2 only. An application can
specify only one of the API key metadata names. If both are specified, the API
throws an exception.
