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.ktsveyabuild.gradledosyanızı açın vebuildscriptaltındakidependenciesöğesine aşağıdaki kodu ekleyin.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 }
Modern
buildscript { dependencies { classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1" } }
-
Modül düzeyindeki
build.gradle.ktsveyabuild.gradledosyanızı açıppluginsöğesine aşağıdaki kodu ekleyin.Kotlin
plugins { // ... alias(libs.plugins.secrets.gradle.plugin) }
Modern
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
- Modül düzeyindeki
build.gradle.ktsveyabuild.gradledosyanızdatargetSdkvecompileSdkdeğerlerinin 34 olarak ayarlandığından emin olun. - Projenizi Gradle ile senkronize edin.
-
Üst düzey dizininizdeki
secrets.propertiesdosyasını açıp aşağıdaki kodu ekleyin.YOUR_API_KEYyerine 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.propertiesdosyasını üst düzey dizininizde,secrets.propertiesdosyası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.propertiesdosyası 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.propertiesdosyası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.propertiesdosyası oluşturmadıysanız ortaya çıkabilir. -
AndroidManifest.xmldosyanızdacom.google.android.geo.API_KEYbölümüne gidin veandroid:value attributedeğ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_KEYadı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.ktsveyabuild.gradledosyanızı açıpsecretsmülkünü düzenleyin.secretsmülkü yoksa ekleyin.propertiesFileNamedeğerinisecrets.properties,defaultPropertiesFileNamedeğerinilocal.defaults.propertiesve 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.