Set up the Maps SDK for Android

  • An API key is required to use the Maps SDK for Android and can be created through the Google Cloud Console or the Cloud SDK.

  • Before using the API key in production, it's crucial to restrict it for security by specifying allowed Android apps and APIs.

  • Restricting the API key involves providing the package name and SHA-1 certificate fingerprint of your Android application.

  • The same API key can be used for both the Maps SDK for Android and Places SDK for Android applications.

  • After obtaining and restricting the API key, proceed to set up and configure your Android Studio project.

This document describes the prerequisites for using the Maps SDK for Android, how to enable it, and then how to make an authenticated request.

Configure API key

Google Maps Platform products are secured from unauthorized use by requiring API calls to include an API key.

An API key is a unique alphanumeric string that associates your Cloud Billing account and Google Cloud project with the request your application makes to a Google Maps Platform API or SDK.

Get an API key for use with Maps SDK for Android

To get an API key:

Console

  1. Go to the Google Maps Platform > Keys & Credentials page.

    Go to the Keys & Credentials page

  2. If prompted, select an existing project.
  3. The list of available keys appears under API Keys.

    If you don't have an API key, or you want to create an API key for use with the Maps SDK for Android, create a new API key:

    1. On the Keys & Credentials page, click + Create credentials > API key.

      The API key created dialog displays your newly created API key.

  4. Click the Name of an API key to edit the key.
  5. On the edit page, under Key restrictions:

    • Under Application restrictions, if any option other than None is selected, only requests originating from those sources are permitted. For more information, see Restrict your API keys.
    • Under API restrictions:

      • If Restrict key is selected, select the drop-down box to add the Maps SDK for Android to the API key.
      • If Don't restrict key is selected, then you can use the API key to make requests to Maps SDK for Android.

      Remember to restrict the API key before using it in production.

  6. Select Save.
  7. Select Show key for the key you edited to display the key's alphanumeric string. You will need that string to configure your development environment.

gcloud

  1. Get the ID of the key that you want to update.

    The ID is not the same as the display name or the key string. You can get the ID by using the following gcloud command to list the keys in your project.

    gcloud services api-keys list

    The ID is part of the name field of the response for each key:

    name: projects/PROJECT_ID/locations/global/keys/KEY_ID
  2. If you don't have an API key, or you want to create an API key for use with the Maps SDK for Android, create a new API key:

    gcloud services api-keys create \
        --project "PROJECT" \
        --display-name "DISPLAY_NAME"

    Read more about the Google Cloud SDK , Cloud SDK installation , and the following commands:

  3. Use the gcloud services api-keys update command to specify which services an API key can be used to authenticate to.

    Replace the following values:

    • KEY_ID: The ID of the key that you want to restrict.
    • SERVICE_1, SERVICE_2...:

      The service names of the APIs that the key can be used to access. You must provide all service names with the update command; the service names provided replace any existing services on the key.

    You can find the service name by searching for the API on the API dashboard. For the Maps SDK for Android, the service names maps-android-backend.googleapis.com.

    gcloud services api-keys update KEY_ID \
    --api-target=service=maps-android-backend.googleapis.com \
    --api-target=service=SERVICE_1 --api-target=service=SERVICE_2
    

Apply API key restrictions

Google strongly recommends that you restrict your API keys by limiting their usage to those only APIs needed for your application. Restricting API keys adds security to your application by protecting it from unwarranted requests. You are financially responsible for charges caused by abuse of unrestricted API keys. For more information, see Google Maps Platform security guidance.

API keys support two types of restrictions:

For more information on applying restrictions, see Restrict your API keys.

What's next

Now that you have enabled Maps SDK for Android and configured an API key, see Set up an Android Studio project to learn more how to configure Android Studio and how to pass the API key to your app.