Gli SDK di Google Play Services a volte includono librerie open source o dipendono da queste. Per rispettare i requisiti di licenza delle librerie open source, in qualità di sviluppatore sei responsabile della visualizzazione appropriata delle notifiche per le librerie open source utilizzate dalla tua app.
Google Play Services include un insieme di strumenti progettati per offrire agli sviluppatori un modo più semplice per esprimere le notifiche relative al software open source (OSS) delle librerie utilizzate nelle loro app. L'SDK oss-licenses-plugin
e oss-licenses di Google Play Services raccolgono i termini di licenza dalle librerie incluse, come dichiarato nei file POM, e creano un'attività che può essere utilizzata per visualizzare questi termini. Scopri di più su
come lo strumento trova e raggruppa le informazioni sulle licenze.
Aggiungere il plug-in Gradle
Nella sezione pluginManagement
delle impostazioni del progetto, procedi nel seguente modo:
- Includi il repository Maven di Google.
- Risolvi il problema relativo al plug-in
oss-licenses
inPluginManagement
.
Il seguente snippet di codice mostra questi passaggi:
Kotlin DSL
settings.gradle.kts
pluginManagement { repositories { ... google() } resolutionStrategy { eachPlugin { if (requested.id.id == "com.google.android.gms.oss-licenses-plugin") { useModule("com.google.android.gms:oss-licenses-plugin:0.10.6") } } } }
Groovy DSL
build.gradle
pluginManagement { repositories { ... google() } resolutionStrategy { eachPlugin { if (requested.id.id == "com.google.android.gms.oss-licenses-plugin") { useModule("com.google.android.gms:oss-licenses-plugin:0.10.6") } } } }
Nel file di build a livello di app, applica il plug-in aggiungendo la seguente riga
sotto la dichiarazione esistente del plug-in com.android.application
nella parte
superiore del file:
Kotlin DSL
app/build.gradle.kts
plugins { id("com.android.application") id("com.google.android.gms.oss-licenses-plugin") }
Groovy DSL
app/build.gradle
plugins { id 'com.android.application' id 'com.google.android.gms.oss-licenses-plugin' }
Puoi visualizzare il codice di questo plug-in su GitHub.
Aggiungere la libreria play-services-oss-licenses
all'app
Nella sezione dependencies
del file di build a livello di app, aggiungi una dipendenza dalla libreria play-services-oss-licenses
:
Kotlin DSL
build.gradle.kts
implementation("com.google.android.gms:play-services-oss-licenses:17.2.1")
Groovy DSL
build.gradle
implementation 'com.google.android.gms:play-services-oss-licenses:17.2.1'
Visualizzare le informazioni sulla licenza
Quando viene creata l'app, il plug-in Gradle elabora le licenze e le aggiunge alle risorse dell'app. Per visualizzare facilmente la licenza, puoi avviare un'attività
fornita dalla libreria play-services-oss-licenses
in un punto appropriato
della tua app, come mostrato nello snippet di codice seguente:
Kotlin
import com.google.android.gms.oss.licenses.OssLicensesMenuActivity ... // When the user selects an option to see the licenses: startActivity(Intent(this, OssLicensesMenuActivity::class.java))
Java
import com.google.android.gms.oss.licenses.OssLicensesMenuActivity; ... // When the user selects an option to see the licenses: startActivity(new Intent(this, OssLicensesMenuActivity.class));
Quando viene avviata l'attività, viene visualizzato un elenco di librerie open source compilate nella tua app, incluse le librerie utilizzate dall'app, come mostrato nella figura 1. Gli utenti possono toccare il nome di una libreria per visualizzare ulteriori informazioni sulla licenza.
Figura 1. L'attività del menu delle licenze mostra un elenco selezionabile di librerie open source utilizzate da un'app.
Imposta il titolo dell'attività
Per impostazione predefinita, l'attività visualizzata ha il titolo "Licenze open source". Puoi
personalizzare il titolo dell'attività chiamando
setActivityTitle()
,
come mostrato nello snippet di codice seguente:
Kotlin
OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title))
Java
OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title));
Applicare un tema all'attività
Puoi applicare un tema all'attività in modo che corrisponda a quello utilizzato nelle altre attività
della tua app. A questo scopo, includi l'attività della licenza open source in un elemento
<activity>
all'interno del file manifest dell'app, come mostrato nello snippet di codice
seguente:
<application android:theme="@style/AppTheme" ...> <activity android:name="com.google.android.gms.oss.licenses.OssLicensesMenuActivity" android:theme="@style/AppTheme" /> <activity android:name="com.google.android.gms.oss.licenses.OssLicensesActivity" android:theme="@style/AppTheme" /> </application>
Come viene determinato l'elenco delle licenze
In fase di compilazione, il plug-in Gradle analizza le dipendenze POM del progetto
della tua app. Quando esiste un POM Maven per una dipendenza diretta dell'app, il plug-in
elabora ogni elemento <licenses>
e incorpora il link e il titolo di ogni licenza in una risorsa Android
inclusa nell'app.