Google, sürüm kontrol sisteminizde bir API anahtarı kontrol etmemenizi önemle tavsiye eder. Bunun yerine, projenizin kök dizininde bulunan ancak sürüm kontrolü dışında tutulan yerel bir secrets.properties
dosyasında depolamanız ve ardından API anahtarını okumak için Android için Secrets Gradle Plugin'i kullanmanız gerekir.
Android için Secrets Gradle Eklentisi, sürüm kontrol sisteminde kontrol edilmemiş bir özellikler dosyasından API anahtarı da dahil olmak üzere gizli anahtarları okur. Eklenti daha sonra bu özellikleri Gradle tarafından oluşturulan BuildConfig
sınıfında ve Android manifest dosyasında değişkenler olarak gösterir.
API anahtarına erişmek üzere Android için Secrets Gradle Eklentisini kullanmaya ilişkin tam bir örnek için Android Studio projesi oluşturma bölümüne bakın.
Yükleme ve kullanım
Google Haritalar projenize Android için Secrets Gradle Eklentisi'ni yüklemek için:
-
Android Studio'da üst düzey
build.gradle
veyabuild.gradle.kts
dosyanızı açın ve aşağıdaki kodubuildscript
altındakidependencies
öğesine ekleyin.Modern
buildscript { dependencies { classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1" } }
Kotlin
buildscript { dependencies { classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1") } }
-
Modül düzeyindeki
build.gradle
dosyanızı açın ve aşağıdaki koduplugins
öğesine ekleyin.Modern
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
Kotlin
plugins { id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
- Modül düzeyindeki
build.gradle
dosyanızdatargetSdk
vecompileSdk
öğelerinin 34 olarak ayarlandığından emin olun. - Dosyayı kaydedin ve projenizi Gradle ile senkronize edin.
-
Üst düzey dizininizde
secrets.properties
dosyasını açın, ardından aşağıdaki kodu ekleyin.YOUR_API_KEY
öğesini API anahtarınızla değiştirin.secrets.properties
, sürüm kontrol sistemine kontrol edilemiyor. Bu nedenle anahtarınızı bu dosyada saklayın.PLACES_API_KEY=YOUR_API_KEY
- Dosyayı kaydedin.
-
local.defaults.properties
dosyasını üst düzey dizininizde,secrets.properties
dosyasıyla aynı klasörde olacak şekilde oluşturun ve aşağıdaki kodu ekleyin.PLACES_API_KEY=DEFAULT_API_KEY
Bu dosyanın amacı,
secrets.properties
dosyası bulunamazsa derlemelerin başarısız olmaması için API anahtarı için yedek konum sağlamaktır. Uygulamayısecrets.properties
içermeyen bir sürüm kontrol sisteminden klonlarsanız ve henüz API anahtarınızı sağlamak için yerel olarak birsecrets.properties
dosyası oluşturmadıysanız bu durum görülebilir. - Dosyayı kaydedin.
-
Android Studio'da modül düzeyindeki
build.gradle
veyabuild.gradle.kts
dosyanızı açıpsecrets
özelliğini düzenleyin.secrets
özelliği yoksa ekleyin.Eklentinin özelliklerini düzenleyerek
propertiesFileName
öğesinisecrets.properties
,defaultPropertiesFileName
öğesinilocal.defaults.properties
olarak ayarlayın ve diğer özellikleri ayarlayın.Modern
secrets { // Optionally specify a different file name containing your secrets. // The plugin defaults to "local.properties" propertiesFileName = "secrets.properties" // A properties file containing default secret values. This file can be // checked in version control. defaultPropertiesFileName = "local.defaults.properties" // Configure which keys should be ignored by the plugin by providing regular expressions. // "sdk.dir" is ignored by default. ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore" ignoreList.add("sdk.*") // Ignore all keys matching the regexp "sdk.*" }
Kotlin
secrets { // Optionally specify a different file name containing your secrets. // The plugin defaults to "local.properties" propertiesFileName = "secrets.properties" // A properties file containing default secret values. This file can be // checked in version control. defaultPropertiesFileName = "local.defaults.properties" // Configure which keys should be ignored by the plugin by providing regular expressions. // "sdk.dir" is ignored by default. ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore" ignoreList.add("sdk.*") // Ignore all keys matching the regexp "sdk.*" }
Sırada ne var?
- Secrets Gradle Plugin for Android GitHub proje sayfasını görüntüleyin.
- Eklentiyi kullanmayla ilgili tam bir örnek için Android Studio projesi oluşturma bölümüne bakın.