Places SDK for Android を使用するようにアプリを設定する手順は次のとおりです。これらは、Places SDK for Android を使用するすべてのアプリで必要です。
ステップ 1: Android Studio をセットアップする
このドキュメントでは、Android Studio Hedgehog と Android Gradle プラグイン バージョン 8.2 を使用した開発環境について説明します。
ステップ 2: SDK をセットアップする
Places SDK for Android ライブラリは、Google の Maven リポジトリを通して利用できます。アプリに SDK を追加するには、以下の手順を行います。
- 最上位レベルの
settings.gradle.ktsファイルで、pluginManagementブロック以下に Gradle プラグイン ポータル、Google Maven リポジトリ、Maven セントラル リポジトリを含めます。pluginManagementブロックは、スクリプト内の他のステートメントよりも前に配置する必要があります。pluginManagement { repositories { gradlePluginPortal() google() mavenCentral() } }
- トップレベルの
settings.gradle.ktsファイルで、dependencyResolutionManagementブロック以下に Google の Maven リポジトリと Maven セントラル リポジトリをインクルードします。dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
-
モジュール レベルの
build.gradle.ktsファイルのdependenciesセクションに、Places SDK for Android への依存関係を追加します。Groovy
dependencies { implementation(platform("org.jetbrains.kotlin:kotlin-bom:$kotlin_version")) implementation("com.google.android.libraries.places:places:3.5.0") }
Kotlin
dependencies { // Places and Maps SDKs implementation("com.google.android.libraries.places:places:5.0.0") }
- モジュール レベルの
build.gradle.ktsファイルで、compileSdkとminSdkをそれぞれ次の値に設定します。Groovy
android { compileSdk 34 defaultConfig { minSdk 23 // ... } }
Kotlin
android { compileSdk = 34 defaultConfig { minSdk = 23 // ... } }
- モジュール レベルの
build.gradleファイルのbuildFeaturesセクションにBuildConfigクラスを追加します。このクラスを使用すると、この手順で後ほど定義するメタデータの値にアクセスできます。Groovy
android { // ... buildFeatures { buildConfig true // ... } }
Kotlin
android { // ... buildFeatures { buildConfig = true // ... } }
ステップ 3: API キーをプロジェクトに追加する
このセクションでは、アプリで安全に参照されるように API キーを保存する方法を説明します。API キーは、バージョン管理システムにはチェックインせず、プロジェクトのルート ディレクトリにある secrets.properties ファイルに保存することをおすすめします。secrets.properties ファイルについて詳しくは、Gradle プロパティ ファイルをご覧ください。
このタスクを効率化するには、Android 用 Secrets Gradle プラグインの使用をおすすめします。
Android 用 Secrets Gradle プラグインを Google マップ プロジェクトにインストールする手順は以下のとおりです。
-
Android Studio で最上位レベルの
build.gradle.ktsファイルかbuild.gradleファイルを開き、buildscriptの配下にあるdependencies要素に次のコードを追加します。Kotlin
plugins { alias(libs.plugins.android.application) apply false alias(libs.plugins.jetbrains.kotlin.android) apply false alias(libs.plugins.kotlin.compose) apply false alias(libs.plugins.secrets.gradle.plugin) apply false }
Groovy
buildscript { dependencies { classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1" } }
- モジュール レベルの
build.gradle.ktsファイルかbuild.gradleファイルを開き、次のコードをplugins要素に追加します。Kotlin
plugins { // ... alias(libs.plugins.secrets.gradle.plugin) }
Groovy
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
- モジュール レベルの
build.gradle.ktsファイルかbuild.gradleファイルで、targetSdkとcompileSdkを 34 に設定します。 - プロジェクトを Gradle と同期します。
-
最上位レベルのディレクトリで
secrets.propertiesファイルを開き、次のコードを追加します。YOUR_API_KEYは実際の API キーに置き換えてください。secrets.propertiesはバージョン管理システムにチェックインされないため、このファイルにキーを保存します。PLACES_API_KEY=YOUR_API_KEY
-
最上位レベルのディレクトリ(
secrets.propertiesファイルと同じフォルダ)にlocal.defaults.propertiesファイルを作成し、次のコードを追加します。PLACES_API_KEY=DEFAULT_API_KEY
このファイルの目的は、
secrets.propertiesファイルがない場合に API キーのバックアップ場所を提供し、ビルドが失敗しないようにすることです。この状況は、secrets.propertiesを省略したバージョン管理システムからアプリのクローンを作成し、API キーを提供するためにsecrets.propertiesファイルをまだローカルに作成していない場合に発生する可能性があります。 -
Android Studio でモジュール レベルの
build.gradle.ktsファイルかbuild.gradleファイルを開き、secretsプロパティを編集します。secretsプロパティがない場合は追加します。プラグインのプロパティを編集して
propertiesFileNameをsecrets.propertiesに、defaultPropertiesFileNameをlocal.defaults.propertiesに設定し、他のプロパティも設定します。Kotlin
secrets { // To add your Maps API key to this project: // 1. If the secrets.properties file does not exist, create it in the same folder as the local.properties file. // 2. Add this line, where YOUR_API_KEY is your API key: // MAPS_API_KEY=YOUR_API_KEY propertiesFileName = "secrets.properties" // A properties file containing default secret values. This file can be // checked in version control. defaultPropertiesFileName = "local.defaults.properties" }
Groovy
secrets { // To add your Maps API key to this project: // 1. If the secrets.properties file does not exist, create it in the same folder as the local.properties file. // 2. Add this line, where YOUR_API_KEY is your API key: // MAPS_API_KEY=YOUR_API_KEY propertiesFileName = "secrets.properties" // A properties file containing default secret values. This file can be // checked in version control. defaultPropertiesFileName = "local.defaults.properties" }
ステップ 4. Places API クライアントを初期化する
アクティビティまたはフラグメント内で Places SDK for Android を初期化します。まず、使用する SDK のバージョン(Places SDK for Android または Places SDK for Android(新版))を決定する必要があります。プロダクト バージョンの詳細については、SDK バージョンを選択するをご覧ください。
次の例は、両方のバージョンの SDK を初期化する方法を示しています。Places SDK for Android(新機能)
Places.initializeWithNewPlacesApiEnabled() を呼び出すときに API キーを渡します。
Kotlin
// Define a variable to hold the Places API key. val apiKey = BuildConfig.PLACES_API_KEY // Log an error if apiKey is not set. if (apiKey.isEmpty() || apiKey == "DEFAULT_API_KEY") { Log.e("Places test", "No api key") finish() return } // Initialize the SDK Places.initializeWithNewPlacesApiEnabled(applicationContext, apiKey) // Create a new PlacesClient instance val placesClient = Places.createClient(this)
Java
// Define a variable to hold the Places API key. String apiKey = BuildConfig.PLACES_API_KEY; // Log an error if apiKey is not set. if (TextUtils.isEmpty(apiKey) || apiKey.equals("DEFAULT_API_KEY")) { Log.e("Places test", "No api key"); finish(); return; } // Initialize the SDK Places.initializeWithNewPlacesApiEnabled(getApplicationContext(), apiKey); // Create a new PlacesClient instance PlacesClient placesClient = Places.createClient(this);
Places SDK for Android
Places.initializeWithNewPlacesApiEnabled() を呼び出すときに API キーを渡します。
Kotlin
// Define a variable to hold the Places API key. val apiKey = BuildConfig.PLACES_API_KEY // Log an error if apiKey is not set. if (apiKey.isEmpty() || apiKey == "DEFAULT_API_KEY") { Log.e("Places test", "No api key") finish() return } // Initialize the SDK Places.initialize(applicationContext, apiKey) // Create a new PlacesClient instance val placesClient = Places.createClient(this)
Java
// Define a variable to hold the Places API key. String apiKey = BuildConfig.PLACES_API_KEY; // Log an error if apiKey is not set. if (TextUtils.isEmpty(apiKey) || apiKey.equals("DEFAULT_API_KEY")) { Log.e("Places test", "No api key"); finish(); return; } // Initialize the SDK Places.initialize(getApplicationContext(), apiKey); // Create a new PlacesClient instance PlacesClient placesClient = Places.createClient(this);
これで、Places SDK for Android を使用する準備が整いました。
ステップ 5: Android デバイスをセットアップする
Places SDK for Android を使用するアプリを実行するには、Android 5.0 以降をベースとし Google API を含む Android デバイスまたは Android Emulator にアプリをデプロイする必要があります。
- Android デバイスを使用する場合は、ハードウェア デバイス上でのアプリの実行の手順を踏んでください。
- Android Emulator を使用する場合は、Android Studio に付属している Android Virtual Device(AVD)Manager を使用して仮想デバイスを作成し、エミュレータをインストールしてください。