Places SDK for Android versions

Select platform: Android iOS JavaScript

The Google Maps Platform team regularly updates SDKs with new features, bug fixes, and performance improvements. This page provides guidance on how to manage your dependencies on mobile SDKs.

  • For mission-critical apps, link to the latest dot release of the major version that you are using (X.*), and upgrade yearly to the new major version.

    As you release new versions of your application throughout the year, you may start using newer dot versions of the Places SDK for Android. This will not require updates in your application as new dot versions are backward compatible.

    Benefits:

    • If you discover issues in the Places SDK for Android, fixes will be provided in a backward-compatible way for 12 months after the initial release of the major version, per the Mobile support policy. You will not need to urgently upgrade to an incompatible SDK version to benefit from fixes.
    • The latest improvements and features are easy to adopt when your app is already built on the latest version.
    • Annual incremental updates to the newest major version of the SDK may require less work to adapt, rewrite, and test your application, than having to handle backwards-incompatible changes introduced across multiple major version releases.

  • For non-critical apps, link to any fixed version. When you receive a deprecation notice for that fixed version, you will have 12 months to make your updated app code available to your users.

    Benefits:

    • Less frequent maintenance work.
    • New versions of your app keep supporting users' devices running older mobile operating systems for longer (until you need to upgrade to a new SDK version).

Project Owners with monitored email addresses receive proactive notifications about changes that impact each of their projects. Stay informed about major updates, deprecations, and other changes.

Installation

In your app-level build.gradle file, always specify a version instead of a prefix range (+) or latest since these can lead to unpredictable and unrepeatable builds. The Places SDK for Android adheres to semantic versioning, and new major version releases may include breaking changes. The minimum API level supported is 21.

dependencies {
    // If updating kotlin-bom version number above, also edit project-level build.gradle definition of $kotlin_version variable
    implementation(platform("org.jetbrains.kotlin:kotlin-bom:$kotlin_version"))
    implementation 'com.google.android.libraries.places:places:3.3.0'
}

Maintenance and upgrade

Android Studio automatically checks for newer available versions and provides a warning when a newer version of a dependency is available. To minimize technical debt, update to the newest available version as soon as possible. If you are updating to a new major version, check the release notes for backwards-incompatible changes and how to update your code.

In addition to polling for newer versions, Google Cloud project owners receive emails about backwards incompatible changes that may affect their projects. To get proactive notification about backwards incompatible changes, assign the owner role with a monitored email address for each of your projects.

If you are upgrading from Places SDK for Android version 3.2.0 or earlier

There is no migration necessary when moving to the new SDK. You only have to:

  1. Enable Places API (New) on the API key used in your app. If you are using both the existing Places SDK for Android and Places SDK for Android (New), we recommend that you create a separate API key for each API version. For more information, see Using API Keys.
  2. In the dependencies section of your module-level build.gradle file, update the places dependency and add the kotlin-bom dependency:

      dependencies {
          implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.0"))
          implementation 'com.google.android.libraries.places:places:3.3.0'
      }

    For more information on the kotlin-bom dependency, see Usage of the latest kotlin-stdlib version in transitive dependencies.

  3. Update your existing app to call the new Places.initializeWithNewPlacesApiEnabled() method to initialize your app. For more information, see Initialize the Places API client.

Your existing apps continue to work unchanged, but you can now take advantage of all new SDK features.