Google, sürüm denetim sisteminize API anahtarı eklememenizi önemle tavsiye eder. Bunun yerine, API anahtarını projenizin kök dizininde bulunan ancak sürüm denetiminden hariç tutulan yerel bir secrets.properties dosyasına kaydedin ve API anahtarını okumak için Android için Secrets Gradle eklentisini kullanın.
Android için Secrets Gradle Plugin, API anahtarı da dahil olmak üzere gizli anahtarları, sürüm denetim sistemine dahil edilmeyen bir özellikler dosyasından okur. Eklenti daha sonra bu özellikleri, Gradle tarafından oluşturulan BuildConfig sınıfında ve Android manifest dosyasında değişken olarak gösterir.
Bir API anahtarına erişmek için Android İçin Secrets Gradle Plugin'in kullanıldığı eksiksiz bir örnek için Android Studio projesi oluşturma başlıklı makaleyi inceleyin.
Kurulum ve kullanım
Android için Secrets Gradle Eklentisi'ni yüklemek ve API anahtarınızı depolamak için:
-
Android Studio'da üst düzey
build.gradle.ktsveyabuild.gradledosyanızı açın ve aşağıdaki kodupluginsbloğuna ekleyin.Kotlin
plugins { // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") version "2.0.1" apply false }
Modern
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false }
-
Modül düzeyindeki
build.gradle.ktsveyabuild.gradledosyanızı açın ve aşağıdaki kodupluginsöğesine ekleyin.Kotlin
plugins { id("com.android.application") // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
Modern
plugins { id 'com.android.application' // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
- Android Studio kullanıyorsanız projenizi Gradle ile senkronize edin.
-
En üst düzey dizininizde
secrets.propertiesdosyasını açın ve aşağıdaki kodu ekleyin.YOUR_API_KEYkısmını API anahtarınızla değiştirin. API anahtarınızı sürüm denetimine eklememek içinsecrets.propertiesdosyasını.gitignoredosyanıza eklediğinizden (veya sürüm denetim sisteminizden hariç tuttuğunuzdan) emin olun.MAPS_API_KEY=YOUR_API_KEY
-
En üst düzey dizininizde,
secrets.propertiesdosyasıyla aynı klasördelocal.defaults.propertiesdosyasını oluşturun ve aşağıdaki kodu ekleyin.MAPS_API_KEY=DEFAULT_API_KEY
Bu dosyanın amacı,
secrets.propertiesdosyası bulunamazsa derlemelerin başarısız olmaması için API anahtarına yedek bir konum sağlamaktır. Bu durum, uygulamayısecrets.propertiesdosyasını atlayan bir sürüm denetim sisteminden klonlarsanız ve API anahtarınızı sağlamak için henüz yerel olarak birsecrets.propertiesdosyası oluşturmadıysanız meydana gelebilir. -
AndroidManifest.xmldosyanızdacom.google.android.geo.API_KEYbölümüne gidin veandroid:valueözelliğini aşağıdaki gibi güncelleyin:<meta-data android:name="com.google.android.geo.API_KEY" android:value="${MAPS_API_KEY}" />Not:
com.google.android.geo.API_KEY, API anahtarı için önerilen meta veri adıdır. Bu ada sahip bir anahtar, Android platformunda Android için Haritalar SDK'sı da dahil olmak üzere Google Haritalar tabanlı birden fazla API'nin kimliğini doğrulamak için kullanılabilir. API, geriye dönük uyumluluk içincom.google.android.maps.v2.API_KEYadını da destekler. Bu eski ad, yalnızca Android Maps API v2'de kimlik doğrulamaya izin verir. Bir uygulama yalnızca API anahtarı meta veri adlarından birini belirtebilir. Her ikisi de belirtilirse API bir istisna oluşturur. -
Android Studio'da modül düzeyindeki
build.gradle.ktsveyabuild.gradledosyanızı açın vesecretsözelliğini düzenleyin.secretsözelliği yoksa ekleyin.Eklentinin özelliklerini düzenleyerek
propertiesFileNameözelliğini"secrets.properties",defaultPropertiesFileNameözelliğini"local.defaults.properties"olarak ayarlayın ve diğer özellikleri belirleyin.Kotlin
secrets { // To add your Maps API key to this project: // 1. If the secrets.properties file does not exist, create it in the root directory (the same folder as the root 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" }
Modern
secrets { // To add your Maps API key to this project: // 1. If the secrets.properties file does not exist, create it in the root directory (the same folder as the root 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" }
Sırada ne var?
- Android İçin Secrets Gradle Plugin GitHub proje sayfasına bakın.
- Eklentinin kullanımına dair eksiksiz bir örnek için Android Studio projesi oluşturma başlıklı makaleyi inceleyin.