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 の依存関係を追加します。dependencies { implementation(platform("org.jetbrains.kotlin:kotlin-bom:$kotlin_version")) implementation("com.google.android.libraries.places:places:3.5.0") }
dependencies { // Places and Maps SDKs implementation("com.google.android.libraries.places:places:4.1.0") }
- モジュール レベルの
build.gradle.kts
ファイルで、compileSdk
とminSdk
をそれぞれ次の値に設定します。android { compileSdk 34 defaultConfig { minSdk 23 // ... } }
android { compileSdk = 34 defaultConfig { minSdk = 23 // ... } }
- モジュール レベルの
build.gradle
ファイルのbuildFeatures
セクションにBuildConfig
クラスを追加します。このクラスを使用すると、この手順で後ほど定義するメタデータの値にアクセスできます。android { // ... buildFeatures { buildConfig true // ... } }
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
要素に次のコードを追加します。buildscript { dependencies { classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1") } }
buildscript { dependencies { classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1" } }
- モジュール レベルの
build.gradle.kts
ファイルかbuild.gradle
ファイルを開き、次のコードをplugins
要素に追加します。plugins { // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
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
に設定し、他のプロパティも設定します。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" }
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.initializeWithNewPlacesApiEnabled()
を呼び出すときに API キーを渡します。
// 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)
// 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.initialize()
を呼び出すときに API キーを渡します。
// 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)
// 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 を使用して仮想デバイスを作成し、エミュレータをインストールしてください。