Les services Google Play incluent ou dépendent parfois de bibliothèques Open Source. Pour répondre aux exigences de licence des bibliothèques Open Source, vous devez, en tant que développeur, afficher les notifications des bibliothèques Open Source utilisées par votre application.
Les services Google Play incluent un ensemble d'outils conçus pour donner aux développeurs un moyen plus simple d'exprimer les notifications logicielles Open Source des bibliothèques utilisées dans leurs applications. L'un de ces outils est un plug-in Gradle qui collecte les termes de licence des bibliothèques incluses, comme déclaré dans les fichiers POM, et crée une activité pouvant être utilisée pour afficher ces termes. Découvrez comment l'outil détecte et empaquette les informations sur les licences.
Ajouter le plug-in Gradle
Dans votre fichier de compilation racine, procédez comme suit:
- Incluez le dépôt Maven de Google.
- Ajoutez le plug-in
oss-licenses
à vos dépendances.
L'extrait de code suivant présente les étapes suivantes:
DSL Kotlin
build.gradle.kts
buildscript { repositories { ... google() // maven { url("https://maven.google.com") } for Gradle <= 3 } dependencies { ... classpath("com.google.android.gms:oss-licenses-plugin:0.10.6") } }
DSL Groovy
build.gradle
buildscript { repositories { ... google() // maven { url "https://maven.google.com" } for Gradle <= 3 } dependencies { ... classpath 'com.google.android.gms:oss-licenses-plugin:0.10.6' } }
Dans le fichier de compilation au niveau de l'application, appliquez le plug-in en ajoutant la ligne suivante sous la déclaration existante du plug-in com.android.application
, en haut du fichier:
DSL Kotlin
app/build.gradle.kts
plugins { id("com.android.application") id("com.google.android.gms.oss-licenses-plugin") }
DSL Groovy
app/build.gradle
plugins { id 'com.android.application' id 'com.google.android.gms.oss-licenses-plugin' }
Vous pouvez afficher le code de ce plug-in sur GitHub.
Ajouter la bibliothèque à votre application
Dans la section dependencies
de votre fichier de compilation au niveau de l'application, ajoutez une dépendance à la bibliothèque oss-licenses
:
DSL Kotlin
build.gradle.kts
implementation("com.google.android.gms:play-services-oss-licenses:17.0.1")
DSL Groovy
build.gradle
implementation 'com.google.android.gms:play-services-oss-licenses:17.0.1'
Afficher les informations sur la licence
Lorsque votre application est compilée, le plug-in Gradle traite les licences et les ajoute aux ressources de votre application. Pour afficher facilement la licence, vous pouvez lancer une activité fournie par la bibliothèque play-services-oss-licenses
à un point approprié de votre application, comme indiqué dans l'extrait de code suivant:
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));
Lorsqu'elle est lancée, cette activité affiche une liste de bibliothèques Open Source compilées dans votre application, y compris les bibliothèques qui font partie des services Google Play, comme illustré dans la figure 1. Appuyez sur le nom d'une bibliothèque pour afficher des informations supplémentaires sur cette licence.
Figure 1 : L'activité du menu "Licences" affiche la liste des bibliothèques Open Source sélectionnables par une application.
Définir le titre de l'activité
Par défaut, l'activité affichée est intitulée "Licences Open Source". Vous pouvez personnaliser le titre de l'activité en appelant setActivityTitle()
, comme indiqué dans l'extrait de code suivant:
Kotlin
OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title))
Java
OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title));
Appliquer un thème à l'activité
Vous pouvez appliquer un thème à l'activité pour qu'il corresponde à celui utilisé dans les autres activités de votre application. Pour ce faire, incluez l'activité de licence Open Source dans un élément <activity>
du fichier manifeste de votre application, comme indiqué dans l'extrait de code suivant:
<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>
Comment la liste des licences est-elle déterminée ?
Au moment de la compilation, le plug-in Gradle analyse les dépendances POM du projet de votre application. Lorsqu'une POM Maven existe pour une dépendance directe de l'application, le plug-in traite chaque élément <licenses>
et intègre le lien et le titre de chaque licence dans un asset Android inclus dans votre application.