Inclure les avis Open Source

Les services Google Play incluent parfois ou dépendent de bibliothèques Open Source. Pour respecter les conditions de licence des bibliothèques Open Source, en tant que développeur, vous êtes responsable de l'affichage approprié des avis pour les bibliothèques Open Source utilisées par votre application.

Les services Google Play incluent un ensemble d'outils conçus pour permettre aux développeurs d'exprimer plus facilement les avis sur les logiciels Open Source des bibliothèques utilisées dans leurs applications. L'un de ces outils est un plug-in Gradle qui collecte les conditions de licence des bibliothèques incluses, comme indiqué dans leurs fichiers POM, et crée une activité pouvant être utilisée pour afficher ces conditions. Découvrez comment l'outil recherche et empaquette les informations de licence.

Ajouter le plug-in Gradle

Dans votre fichier de compilation au niveau racine, procédez comme suit:

  1. Incluez le dépôt Maven de Google.
  2. Ajoutez le plug-in oss-licenses à vos dépendances.

L'extrait de code suivant illustre ces étapes:

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 votre 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 consulter 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.1.0")

DSL Groovy

build.gradle

implementation 'com.google.android.gms:play-services-oss-licenses:17.1.0'

Afficher les informations de 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 moment opportun 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));

Au lancement, cette activité affiche une liste des 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. Les utilisateurs peuvent appuyer sur le nom d'une bibliothèque pour afficher des informations supplémentaires sur la licence de cette bibliothèque.

Vue Liste, chaque élément contenant le nom d&#39;une bibliothèque Open Source

Figure 1. L'activité du menu "Licenses" affiche une liste sélectionnable des bibliothèques Open Source utilisées 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> dans le 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'un fichier 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 élément Android inclus avec votre application.