Google, bir API anahtarını sürüm kontrol sisteminize eklememenizi önemle tavsiye eder. Bunun yerine, API anahtarını projenizin kök dizininde bulunan ancak sürüm kontrolünden hariç tutulan yerel bir secrets.properties
dosyasında depolamanız ve ardından API anahtarını okumak için Android için Secrets Gradle Eklentisi'ni kullanmanız gerekir.
Android için Secrets Gradle Plugin, API anahtarı da dahil olmak üzere gizli anahtarları, sürüm kontrol sistemine eklenmemiş bir özellik dosyasından okur. Ardından eklenti, bu özellikleri Gradle tarafından oluşturulan BuildConfig
sınıfında ve Android manifest dosyasında değişken olarak gösterir.
API anahtarına erişmek için Android için Secrets Gradle Plugin'i kullanmayla ilgili eksiksiz bir örnek için Android Studio projesi oluşturma başlıklı makaleyi inceleyin.
Yükleme ve kullanım
Android için Secrets Gradle eklentisini Google Haritalar projenize yüklemek üzere:
-
Android Studio'da üst düzey
build.gradle.kts
veyabuild.gradle
dosyanızı açın vebuildscript
altındakidependencies
öğesine aşağıdaki kodu ekleyin.Kotlin
buildscript { dependencies { classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1") } }
Modern
buildscript { dependencies { classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1" } }
-
Modül düzeyindeki
build.gradle.kts
veyabuild.gradle
dosyanızı açıpplugins
öğesine aşağıdaki kodu ekleyin.Kotlin
plugins { // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
Modern
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
- Modül düzeyindeki
build.gradle.kts
veyabuild.gradle
dosyanızdatargetSdk
vecompileSdk
değerlerinin 34 olarak ayarlandığından emin olun. - Projenizi Gradle ile senkronize edin.
-
Üst düzey dizininizdeki
secrets.properties
dosyasını açıp aşağıdaki kodu ekleyin.YOUR_API_KEY
yerine API anahtarınızı girin.secrets.properties
, bir sürüm kontrol sistemine kontrol edilmekten hariç tutulduğu için anahtarınızı bu dosyada saklayın.MAPS_API_KEY=YOUR_API_KEY
-
local.defaults.properties
dosyasını üst düzey dizininizde,secrets.properties
dosyasıyla aynı klasörde oluşturun ve ardından aşağıdaki kodu ekleyin.MAPS_API_KEY=DEFAULT_API_KEY
Bu dosyanın amacı,
secrets.properties
dosyası bulunamazsa API anahtarı için yedek bir konum sağlamak ve böylece derlemelerin başarısız olmasını önlemektir. Bu durum, uygulamayısecrets.properties
dosyasını atlayan bir sürüm kontrol sisteminden klonladıysanız ve API anahtarınızı sağlamak için henüz yerel olarak birsecrets.properties
dosyası oluşturmadıysanız ortaya çıkabilir. -
AndroidManifest.xml
dosyanızdacom.google.android.geo.API_KEY
bölümüne gidin veandroid:value attribute
değerini güncelleyin.<meta-data>
etiketi yoksa<application>
etiketinin alt öğesi olarak oluşturun.<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 için Haritalar SDK'sı da dahil olmak üzere Android platformundaki birden fazla Google Haritalar tabanlı API'de kimlik doğrulaması yapmak için kullanılabilir. API, geriye dönük uyumluluk içincom.google.android.maps.v2.API_KEY
adını da destekler. Bu eski ad yalnızca Android Maps API v2'de kimlik doğrulamasına olanak tanır. Bir uygulama, API anahtarı meta veri adlarından yalnızca birini belirtebilir. Her ikisi de belirtilirse API bir istisna oluşturur. -
Android Studio'da modül düzeyindeki
build.gradle.kts
veyabuild.gradle
dosyanızı açıpsecrets
mülkünü düzenleyin.secrets
mülkü yoksa ekleyin.propertiesFileName
değerinisecrets.properties
,defaultPropertiesFileName
değerinilocal.defaults.properties
ve diğer özellikleri ayarlamak için eklentinin özelliklerini düzenleyin.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" }
Modern
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" }
Sırada ne var?
- Android için Secrets Gradle Plugin GitHub proje sayfasını inceleyin.
- Eklentinin kullanımına dair tam bir örnek için Android Studio projesi oluşturma başlıklı makaleyi inceleyin.