Descripción general de la biblioteca de Google Play Core

En esta página, se describe la biblioteca de Google Play Core y cómo agregarla a tu proyecto.

¿Qué es Play Core?

La biblioteca de Play Core es la interfaz del entorno de ejecución de tu app con Google Play Store. Estas son algunas de las acciones que puedes realizar con Play Core:

La biblioteca de Play Core está disponible en Java, nativo y Unity. Para obtener más información sobre la versión más reciente de la biblioteca de Play Core, consulta las notas de la versión.

Cómo agregar la biblioteca de Play Core a tu proyecto

Antes de comenzar a usar la biblioteca de Play Core, debes agregarla al proyecto de tu app. Los pasos que debes seguir dependen de si estás desarrollando en Java, Kotlin o nativo, o si usas Unity.

Java o Kotlin

Si desarrollas tu proyecto con Java o Kotlin, puedes importar la biblioteca de Play Core a tu proyecto de Android como una dependencia de Gradle, según se muestra a continuación:

Groovy

// In your app’s build.gradle file:
...
dependencies {
    // This dependency is downloaded from the Google’s Maven repository.
    // So, make sure you also include that repository in your project's build.gradle file.
    implementation 'com.google.android.play:core:1.10.3'

    // For Kotlin users also add the Kotlin extensions library for Play Core:
    implementation 'com.google.android.play:core-ktx:1.8.1'
    ...
}

Kotlin

// In your app’s build.gradle file:
...
dependencies {
    // This dependency is downloaded from the Google’s Maven repository.
    // So, make sure you also include that repository in your project's build.gradle file.
    implementation("com.google.android.play:core:1.10.3")

    // For Kotlin users also import the Kotlin extensions library for Play Core:
    implementation("com.google.android.play:core-ktx:1.8.1")
    ...
}

La biblioteca de Play Core KTX es opcional y proporciona versiones de corrutinas de Kotlin para las llamadas de métodos asíncronos en la biblioteca normal de Play Core, así como otras extensiones útiles que hacen que el uso de las API sea más idiomático de Kotlin.

Nativo

El SDK nativo de Play Core proporciona una interfaz de la API C/C++ para Play Asset Delivery. El SDK está diseñado a fin de compilar bibliotecas nativas ARM y x86 con CMake y usar Gradle para generar Android App Bundles y APK.

Cómo configurar tu entorno de desarrollo

  1. Elige una de las siguientes opciones:

  2. Prepara Android Studio para el desarrollo nativo con SDK Manager a fin de instalar la versión más reciente del kit de desarrollo nativo (NDK) de CMake y Android. Obtén más información para crear o importar proyectos nativos en la sección Cómo comenzar a usar el NDK.

  3. Descarga el archivo ZIP y extráelo junto con tu proyecto.

    Vínculo de descarga Tamaño Suma de comprobación SHA-256
    55,6 MB 058b4069f09714da938656d43b6dc28d3bc6f821c9d406e9c96a1c3af014dc45
  4. Actualiza el archivo build.gradle de tu app como se muestra a continuación:

    Groovy

        // App build.gradle
    
        plugins {
          id 'com.android.application'
        }
    
        // Define a path to the extracted Play Core SDK files.
        // If using a relative path, wrap it with file() since CMake requires absolute paths.
        def playcoreDir = file('../path/to/playcore-native-sdk')
    
        android {
            defaultConfig {
                ...
                externalNativeBuild {
                    cmake {
                        // Define the PLAYCORE_LOCATION directive.
                        arguments "-DANDROID_STL=c++_static",
                                  "-DPLAYCORE_LOCATION=$playcoreDir"
                    }
                }
                ndk {
                    // Skip deprecated ABIs. Only required when using NDK 16 or earlier.
                    abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
                }
            }
            buildTypes {
                release {
                    // Include Play Core Library proguard config files to strip unused code while retaining the Java symbols needed for JNI.
                    proguardFile "$playcoreDir/proguard/common.pgcfg"
                    proguardFile "$playcoreDir/proguard/per-feature-proguard-files"
                    ...
                }
                debug {
                    ...
                }
            }
            externalNativeBuild {
                cmake {
                    path 'src/main/CMakeLists.txt'
                }
            }
        }
    
        dependencies {
            // Use the Play Core AAR included with the SDK.
            implementation files("$playcoreDir/playcore.aar")
    
            // Use the following dependency for the Play Integrity API.
            implementation("com.google.android.play:integrity:1.0.0")
            ...
        }
        

    Kotlin

    // App build.gradle
    
    plugins {
        id("com.android.application")
    }
    
    // Define a path to the extracted Play Core SDK files.
    // If using a relative path, wrap it with file() since CMake requires absolute paths.
    val playcoreDir = file("../path/to/playcore-native-sdk")
    
    android {
        defaultConfig {
            ...
            externalNativeBuild {
                cmake {
                    // Define the PLAYCORE_LOCATION directive.
                    arguments += listOf("-DANDROID_STL=c++_static", "-DPLAYCORE_LOCATION=$playcoreDir")
                }
            }
            ndk {
                // Skip deprecated ABIs. Only required when using NDK 16 or earlier.
                abiFilters.clear()
                abiFilters += listOf("armeabi-v7a", "arm64-v8a", "x86", "x86_64")
            }
        }
        buildTypes {
            release {
                // Include Play Core Library proguard config files to strip unused code while retaining the Java symbols needed for JNI.
                proguardFile("$playcoreDir/proguard/common.pgcfg")
                proguardFile("$playcoreDir/proguard/per-feature-proguard-files")
                ...
            }
            debug {
                ...
            }
        }
        externalNativeBuild {
            cmake {
                path = "src/main/CMakeLists.txt"
            }
        }
    }
    
    dependencies {
        // Use the Play Core AAR included with the SDK.
        implementation(files("$playcoreDir/playcore.aar"))
        ...
    }
    
  5. Actualiza los archivos CMakeLists.txt de tu app como se muestra a continuación:

    cmake_minimum_required(VERSION 3.6)
    
    ...
    
    # Add a static library called “playcore” built with the c++_static STL.
    include(${PLAYCORE_LOCATION}/playcore.cmake)
    add_playcore_static_library()
    
    // In this example “main” is your native code library, i.e. libmain.so.
    add_library(main SHARED
            ...)
    
    target_include_directories(main PRIVATE
            ${PLAYCORE_LOCATION}/include
            ...)
    
    target_link_libraries(main
            android
            playcore
            ...)
    

Unity

Los complementos de Unity están disponibles para determinadas API de Play Core, incluido Play Asset Delivery. Descarga la versión más reciente de Complementos de Google Play para lanzamientos de Unity. Este es un paquete único que incluye complementos de Play Core y otros complementos de Play, como Facturación integrada de Play y Play Instant.

Descargar Play Core Native SDK

Antes de iniciar la descarga, debes aceptar los siguientes términos y condiciones.

Términos y Condiciones

Última modificación: 24 de septiembre de 2020
  1. Si usas el kit de desarrollo de software de Play Core, aceptas estas condiciones, además de las Condiciones del Servicio de las API de Google ("Condiciones del Servicio de las API"). Si se encuentran en conflicto, estas tendrán prioridad sobre las Condiciones del Servicio de la API. Lee estas condiciones y las Condiciones del Servicio de la API minuciosamente.
  2. Para los propósitos de estas condiciones, "API" se refiere a las API de Google, otros servicios para desarrolladores y el software asociado, inclusive cualquier Código Redistribuible.
  3. Se llama "Código Redistribuible" a lo que provee Google como código de objeto o los archivos de encabezado que llaman a las API.
  4. Sujeto a estas condiciones y las de las Condiciones del Servicio de la API, puedes copiar y distribuir únicamente el Código Redistribuible a modo de inclusión como parte del Cliente de API. Google y sus proveedores de licencias son propietarios de todos los derechos, intereses y títulos; asimismo, de toda propiedad intelectual, otros derechos de propiedad y el Código Redistribuible. No modificarás, trasladarás ni crearás obras derivadas del Código Redistribuible.
  5. Google puede publicar un aviso sobre cambios en las condiciones en cualquier momento y brindará la opción de rechazar el uso del kit de desarrollo de software de Play Core. Google avisará sobre las modificaciones a las condiciones en https://developer.android.com/guide/playcore/license. Los cambios no se aplicarán de forma retroactiva.

Descargar Play Core Native SDK

Descargar Play Core Native SDK

play-core-native-sdk-1.11.0.zip

Condiciones del Servicio del kit de desarrollo de software de Play Core

Última modificación: 24 de septiembre de 2020
  1. Si usas el kit de desarrollo de software de Play Core, aceptas estas condiciones, además de las Condiciones del Servicio de las API de Google ("Condiciones del Servicio de las API"). Si se encuentran en conflicto, estas tendrán prioridad sobre las Condiciones del Servicio de la API. Lee estas condiciones y las Condiciones del Servicio de la API minuciosamente.
  2. Para los propósitos de estas condiciones, "API" se refiere a las API de Google, otros servicios para desarrolladores y el software asociado, inclusive cualquier Código Redistribuible.
  3. Se llama "Código Redistribuible" a lo que provee Google como código de objeto o los archivos de encabezado que llaman a las API.
  4. Sujeto a estas condiciones y las de las Condiciones del Servicio de la API, puedes copiar y distribuir únicamente el Código Redistribuible a modo de inclusión como parte del Cliente de API. Google y sus proveedores de licencias son propietarios de todos los derechos, intereses y títulos; asimismo, de toda propiedad intelectual, otros derechos de propiedad y el Código Redistribuible. No modificarás, trasladarás ni crearás obras derivadas del Código Redistribuible.
  5. Google puede publicar un aviso sobre cambios en las condiciones en cualquier momento y brindará la opción de rechazar el uso del kit de desarrollo de software de Play Core. Google avisará sobre las modificaciones a las condiciones en https://developer.android.com/guide/playcore/license. Los cambios no se aplicarán de forma retroactiva.

Seguridad de los datos del SDK de Play Core

Google Play tiene una sección de Seguridad de los datos para que los desarrolladores divulguen las prácticas de seguridad, uso compartido y recopilación de datos de sus apps. Para ayudarte a completar los requisitos de la sección de Seguridad de los datos, puedes usar la siguiente información sobre cómo el SDK de Play Core controla los datos.

La biblioteca de Play Core es la interfaz del entorno de ejecución de tu app con Google Play Store. Por lo tanto, cuando usas Play Core en tu app, Play Store ejecuta sus propios procesos, que incluyen el manejo de datos en virtud de las Condiciones del Servicio de Google Play. La siguiente información describe cómo el SDK de Play Core controla los datos para procesar solicitudes específicas de tu app.

API de idiomas adicionales

Datos recopilados sobre el uso Lista de idiomas instalados
Propósito de la recopilación de datos Los datos recopilados se usan para publicar diferentes versiones de idiomas de la app y conservar los idiomas instalados después de actualizarla.
Encriptación de datos Los datos se encriptan.
Datos compartidos Los datos no se transfieren a ningún tercero.
Eliminación de datos Los datos se borran después de un período de retención fijo.

Play Feature Delivery

Datos recopilados sobre el uso Metadatos del dispositivo
Versión de la aplicación
Propósito de la recopilación de datos Los datos recopilados se usan para mostrar el módulo correcto al dispositivo y para preservar los módulos instalados después de una actualización y una copia de seguridad y restablecimiento.
Encriptación de datos Los datos se encriptan.
Datos compartidos Los datos no se transfieren a ningún tercero.
Eliminación de datos Los datos se borran después de un período de retención fijo.

Play Asset Delivery

Datos recopilados sobre el uso Metadatos del dispositivo
Versión de la aplicación
Propósito de la recopilación de datos Los datos recopilados se usan para publicar el paquete de recursos correcto en el dispositivo y conservar los paquetes instalados después de una actualización.
Encriptación de datos Los datos se encriptan.
Datos compartidos Los datos no se transfieren a ningún tercero.
Eliminación de datos Los datos se borran después de un período de retención fijo.

Actualizaciones integradas en la app

Datos recopilados sobre el uso Metadatos del dispositivo
Versión de la aplicación
Lista de módulos y paquetes de recursos instalados
Propósito de la recopilación de datos Los datos recopilados se usan para determinar si hay una actualización disponible y el tamaño que se espera que tenga.
Encriptación de datos Los datos se encriptan.
Datos compartidos Los datos no se transfieren a ningún tercero.
Eliminación de datos Los datos se borran después de un período de retención fijo.

Opiniones integradas en la app

Datos recopilados sobre el uso Datos ingresados por el usuario (calificación y opinión de texto libre)
Propósito de la recopilación de datos Los datos recopilados se usan para dejar una opinión en Play Store.
Encriptación de datos Los datos se encriptan.
Datos compartidos Los datos recopilados se usan en una revisión pública en Play Store o, si la app está en un segmento de prueba cerrada, se comparten de forma privada con el desarrollador de la app.
Eliminación de datos Los usuarios pueden borrar sus opiniones en su cuenta de Google Play Store o Cuenta de Google.

API de Play Integrity

Datos recopilados sobre el uso Versión de la aplicación
Certificado de firma de la aplicación
Un token de certificación del dispositivo generado por los Servicios de Google Play
Propósito de la recopilación de datos Los datos recopilados se usan para verificar la integridad de la aplicación, el estado de la licencia y la integridad del dispositivo.
Encriptación de datos Los datos se encriptan.
Datos compartidos Los datos no se transfieren a ningún tercero.
Eliminación de datos Los datos se borran después de un período de retención fijo.

Si bien nuestro objetivo es ser lo más transparentes que podamos, eres el único responsable de decidir cómo responder el formulario de la sección de Seguridad de datos de Google Play en relación con las prácticas de seguridad, el uso compartido y la recopilación de datos del usuario de tu app.