Plug-in Secrets Gradle

Google consiglia vivamente di non controllare una chiave API nel tuo sistema di controllo della versione. Dovresti invece archiviarlo in un file secrets.properties locale, che si trova nella directory root del progetto ma escluso dal controllo della versione, quindi utilizzare il plug-in Secrets Gradle per Android per leggere la chiave API.

Il plug-in Secrets Gradle per Android legge i secret, inclusa la chiave API, da un file delle proprietà non archiviato in un sistema di controllo della versione. Quindi, il plug-in espone queste proprietà come variabili nella classe BuildConfig generata da Gradle e nel file manifest Android.

Per un esempio completo dell'utilizzo del plug-in Secrets Gradle per Android per accedere a una chiave API, consulta la pagina Configurare un progetto Android Studio.

Installazione e utilizzo

Per installare il plug-in Secrets Gradle per Android nel tuo progetto Google Maps:

  1. In Android Studio, apri il file build.gradle o build.gradle.kts di primo livello e aggiungi il seguente codice all'elemento dependencies in buildscript.

    Trendy

    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")
        }
    }
    
  2. Apri il file build.gradle a livello di modulo e aggiungi il seguente codice all'elemento plugins.

    Trendy

    plugins {
        // ...
        id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
    }

    Kotlin

    plugins {
        id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
    }
  3. Nel file build.gradle a livello di modulo, assicurati che targetSdk e compileSdk siano impostati su 34.
  4. Salva il file e sincronizza il progetto con Gradle.
  5. Apri il file secrets.properties nella directory di primo livello e aggiungi il codice seguente. Sostituisci YOUR_API_KEY con la tua chiave API. Archivia la chiave in questo file perché secrets.properties è escluso dal check-in in un sistema di controllo della versione.
    PLACES_API_KEY=YOUR_API_KEY
  6. Salva il file.
  7. Crea il file local.defaults.properties nella directory di primo livello, la stessa cartella del file secrets.properties, quindi aggiungi il codice seguente.

    PLACES_API_KEY=DEFAULT_API_KEY

    Lo scopo di questo file è fornire un percorso di backup per la chiave API nel caso in cui il file secrets.properties non venga trovato, in modo che le build non generino errori. Questo può accadere se cloni l'app da un sistema di controllo della versione che omette secrets.properties e non hai ancora creato un file secrets.properties in locale per fornire la tua chiave API.

  8. Salva il file.
  9. In Android Studio, apri il file build.gradle o build.gradle.kts a livello di modulo e modifica la proprietà secrets. Se la proprietà secrets non esiste, aggiungila.

    Modifica le proprietà del plug-in per impostare propertiesFileName su secrets.properties, impostare defaultPropertiesFileName su local.defaults.properties e impostare eventuali altre proprietà.

    Trendy

    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.*"
    }
            

Passaggi successivi