En ocasiones, los Servicios de Google Play incluyen bibliotecas de código abierto, o dependen de ellas. Para cumplir con los requisitos de licencia de las bibliotecas de código abierto, tú, como desarrolladores son responsables de mostrar correctamente las notificaciones de la las bibliotecas de origen que usa tu app.
Los Servicios de Google Play incluyen un conjunto de herramientas diseñadas para brindarles a los desarrolladores más sencilla de expresar las notificaciones de software de código abierto de las bibliotecas utilizadas en sus aplicaciones. Una de estas herramientas es un complemento de Gradle que recopila términos de licencia de las bibliotecas incluidas, como se declara en sus archivos POM, y crea un actividad que se puede usar para mostrar estos términos. Más información sobre cómo la herramienta encuentra de Google y de los paquetes.
Agrega el complemento de Gradle
En tu archivo de compilación de nivel raíz, haz lo siguiente:
- Incluye la biblioteca de Google Maven Cloud Storage.
- Agrega el complemento
oss-licenses
a tus dependencias.
En el siguiente fragmento de código, se muestran estos pasos:
DSL de Kotlin
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 de Groovy
buildscript { repositories { ... google() // maven { url "https://maven.google.com" } for Gradle <= 3 } dependencies { ... classpath 'com.google.android.gms:oss-licenses-plugin:0.10.6' } }
En el archivo de compilación de nivel de app, agrega la siguiente línea para aplicar el complemento.
en la declaración existente del complemento com.android.application
en el
parte superior del archivo:
DSL de Kotlin
plugins { id("com.android.application") id("com.google.android.gms.oss-licenses-plugin") }
DSL de Groovy
plugins { id 'com.android.application' id 'com.google.android.gms.oss-licenses-plugin' }
Puedes ver el código de esta en GitHub.
Cómo agregar la biblioteca a tu app
En la sección dependencies
de tu archivo de compilación de nivel de app, agrega una dependencia en la biblioteca oss-licenses
:
DSL de Kotlin
implementation("com.google.android.gms:play-services-oss-licenses:17.1.0")
DSL de Groovy
implementation 'com.google.android.gms:play-services-oss-licenses:17.1.0'
Mostrar información de licencia
Cuando se compila tu app, el complemento de Gradle procesa las licencias y las agrega a
los recursos de tu app. Para mostrar fácilmente la licencia, puedes iniciar una actividad
que proporciona la biblioteca play-services-oss-licenses
de una manera apropiada
en tu app, como se muestra en el siguiente fragmento de código:
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));
Cuando se inicia, esta actividad muestra una lista de bibliotecas de código abierto que se compilarse en tu app, incluidas las bibliotecas que forman parte de Google Play de Google Cloud, como se muestra en la figura 1. Los usuarios pueden presionar el nombre de una biblioteca para ver información adicional de la licencia para esa biblioteca.
Figura 1: La actividad del menú de licencias muestra una lista seleccionable de espacios abiertos las bibliotecas de origen que usa una app.
Establece el título de la actividad
De forma predeterminada, la actividad que se muestra tiene el título "Licencias de código abierto". Puedes
personalizar el título de la actividad llamando
setActivityTitle()
:
como se muestra en el siguiente fragmento de código:
Kotlin
OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title))
Java
OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title));
Cómo aplicar un tema a la actividad
Puedes aplicar un tema a la actividad para que coincida con el tema usado en las ventanas
otras actividades. Para hacerlo, incluye la actividad de la licencia de código abierto en una
<activity>
dentro del archivo de manifiesto de tu app, como se muestra a continuación
fragmento de código:
<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>
Cómo se determina la lista de licencias
En el tiempo de compilación, el complemento de Gradle analiza las dependencias de POM de los componentes de
en un proyecto final. Cuando existe un POM de Maven para una dependencia directa de la app, el complemento
procesa cada <licenses>
e incorpora el vínculo y el título de cada licencia en un activo de Android que
que incluye tu app.