Cómo compartir derechos de apps con Google TV con el SDK de Engage

En esta guía, se incluyen instrucciones para que los desarrolladores compartan datos de suscripciones y derechos de apps con Google TV a través del SDK de Engage. Los usuarios pueden encontrar el contenido al que tienen derecho y habilitar Google TV para que les proporcione recomendaciones de contenido altamente relevantes directamente en las experiencias de Google TV en TVs, dispositivos móviles y tablets.

Requisitos previos

Debes incorporar el feed de acciones multimedia antes de poder usar la API de derechos del dispositivo. Si aún no lo hiciste, completa el proceso de incorporación del feed de acciones multimedia.

Trabajo previo

Antes de comenzar, completa los siguientes pasos: Verifica que tu app esté orientada al nivel de API 19 o superior para esta integración.

  1. Agrega la biblioteca com.google.android.engage a tu app:

    Hay SDKs separados para usar en la integración: uno para apps para dispositivos móviles y otro para apps para TVs.

    Para dispositivos móviles

    
      dependencies {
        implementation 'com.google.android.engage:engage-core:1.5.5
      }
    

    para TV

    
      dependencies {
        implementation 'com.google.android.engage:engage-tv:1.0.2
      }
    
  2. Establece el entorno del servicio de Engage como producción en el archivo AndroidManifest.xml.

    Para APK de dispositivos móviles

    
    <meta-data
          android:name="com.google.android.engage.service.ENV"
          android:value="PRODUCTION">
    </meta-data>
    

    APK para TV

    
    <meta-data
        android:name="com.google.android.engage.service.ENV"
        android:value="PRODUCTION">
    </meta-data>
    
  3. Antes de enviar el APK a Google, configura el entorno del servicio de participación como producción en tu archivo AndroidManifest.xml. Para un rendimiento óptimo y compatibilidad futura, publica datos solo cuando la app esté en primer plano y el usuario interactúe con ella de forma activa, por ejemplo, cuando se inicie la app, después de acceder o durante el uso activo. No se recomienda publicar desde procesos en segundo plano.

  4. Publica información de suscripción en los siguientes eventos:

    1. El usuario accede a tu app.
    2. El usuario cambia de perfil (si se admiten perfiles).
    3. El usuario compra una suscripción nueva.
    4. El usuario actualiza una suscripción existente.
    5. Vence la suscripción del usuario.

Integración

En esta sección, se proporcionan los ejemplos de código y las instrucciones necesarios para implementar AccountProfile y SubscriptionEntity para administrar varios tipos de suscripciones.

Cuenta y perfil de usuario

Para permitir funciones personalizadas en Google TV, proporciona información de la cuenta. Usa AccountProfile para proporcionar lo siguiente:

  1. ID de la cuenta: Es un identificador único que representa la cuenta del usuario. Puede ser el ID de la cuenta real o una versión ofuscada de forma adecuada.
// Set the account ID to which the subscription applies.
// Don't set the profile ID because subscription applies to account level.
val accountProfile = AccountProfile.Builder()
  .setAccountId("user_account_id")
  .setProfileId("user_profile id")
  .build();

Suscripción de nivel común

En el caso de los usuarios con suscripciones básicas a los servicios de proveedores de contenido multimedia, por ejemplo, un servicio que tiene un nivel de suscripción que otorga acceso a todo el contenido pagado, proporciona estos detalles esenciales:

  1. Tipo de suscripción: Indica claramente el plan de suscripción específico que tiene el usuario.

    1. SUBSCRIPTION_TYPE_ACTIVE: El usuario tiene una suscripción pagada activa.
    2. SUBSCRIPTION_TYPE_ACTIVE_TRIAL: El usuario tiene una suscripción de prueba.
    3. SUBSCRIPTION_TYPE_INACTIVE: El usuario tiene una cuenta, pero no tiene una suscripción o prueba activa.
  2. Hora de vencimiento: Es un horario opcional en milisegundos. Especifica cuándo vencerá la suscripción.

  3. Nombre del paquete del proveedor: Especifica el nombre del paquete de la app que controla la suscripción.

Ejemplo para el feed de muestra del proveedor de contenido multimedia.

"actionAccessibilityRequirement": [
  {
    "@type": "ActionAccessSpecification",
    "category": "subscription",
    "availabilityStarts": "2022-06-01T07:00:00Z",
    "availabilityEnds": "2026-05-31T07:00:00Z",
    "requiresSubscription": {
    "@type": "MediaSubscription",
    // Don't match this string,
    // ID is only used to for reconciliation purpose
    "@id": "https://www.example.com/971bfc78-d13a-4419",
    // Don't match this, as name is only used for displaying purpose
    "name": "Basic common name",
    "commonTier": true
  }

En el siguiente ejemplo, se crea un objeto SubscriptionEntity para un usuario:

val subscription = SubscriptionEntity
  .Builder()
  setSubscriptionType(
    SubscriptionType.SUBSCRIPTION_TYPE_ACTIVE
  )
  .setProviderPackageName("com.google.android.example")
  // Optional
  // December 30, 2025 12:00:00AM in milliseconds since epoch
  .setExpirationTimeMillis(1767052800000)
  .build();

Suscripción a Premium

Si la oferta de la app incluye paquetes de suscripción premium de varios niveles, que incluyen contenido o funciones expandidos más allá del nivel común, agrega uno o más derechos a Subscription para representarlo.

Este derecho tiene los siguientes campos:

  1. Identifier: Cadena de identificador obligatoria para este derecho. Debe coincidir con uno de los identificadores de derechos (ten en cuenta que no es el campo ID) que se proporcionan en el feed del proveedor de contenido multimedia publicado en Google TV.
  2. Nombre: Esta es información auxiliar y se usa para la coincidencia de derechos. Si bien es opcional, proporcionar un nombre legible para el derecho mejora la comprensión de los derechos del usuario tanto para los desarrolladores como para los equipos de asistencia al cliente. Por ejemplo, Sling Orange.
  3. Expiration TimeMillis: De manera opcional, especifica la hora de vencimiento en milisegundos para este derecho, si difiere de la hora de vencimiento de la suscripción. De forma predeterminada, el derecho vencerá cuando venza la suscripción.

Para el siguiente fragmento de feed de proveedor de contenido multimedia de ejemplo:

"actionAccessibilityRequirement": [
  {
    "@type": "ActionAccessSpecification",
    "category": "subscription",
    "availabilityStarts": "2022-06-01T07:00:00Z",
    "availabilityEnds": "2026-05-31T07:00:00Z",
    "requiresSubscription": {
    "@type": "MediaSubscription",
    // Don't match this string,
    // ID is only used to for reconciliation purpose
    "@id": "https://www.example.com/971bfc78-d13a-4419",

    // Don't match this, as name is only used for displaying purpose
    "name": "Example entitlement name",
    "commonTier": false,
    // match this identifier in your API. This is the crucial
    // entitlement identifier used for recommendation purpose.
    "identifier": "example.com:entitlementString1"
  }

En el siguiente ejemplo, se crea un objeto SubscriptionEntity para un usuario suscrito:

// Subscription with entitlements.
// The entitlement expires at the same time as its subscription.
val subscription = SubscriptionEntity
  .Builder()
  .setSubscriptionType(
    SubscriptionType.SUBSCRIPTION_TYPE_ACTIVE
  )
  .setProviderPackageName("com.google.android.example")
  // Optional
  // December 30, 2025 12:00:00AM in milliseconds
  .setExpirationTimeMillis(1767052800000)
  .addEntitlement(
    SubscriptionEntitlement.Builder()
    // matches with the identifier in media provider feed
    .setEntitlementId("example.com:entitlementString1")
    .setDisplayName("entitlement name1")
    .build()
  )
  .build();
// Subscription with entitlements
// The entitement has different expiration time from its subscription
val subscription = SubscriptionEntity
  .Builder()
  .setSubscriptionType(
    SubscriptionType.SUBSCRIPTION_TYPE_ACTIVE
  )
  .setProviderPackageName("com.google.android.example")
  // Optional
  // December 30, 2025 12:00:00AM in milliseconds
  .setExpirationTimeMillis(1767052800000)
  .addEntitlement(
    SubscriptionEntitlement.Builder()
    .setEntitlementId("example.com:entitlementString1")
    .setDisplayName("entitlement name1")
    // You may set the expiration time for entitlement
    // December 15, 2025 10:00:00 AM in milliseconds
    .setExpirationTimeMillis(1765792800000)
    .build())
  .build();

Suscripción al paquete de servicios vinculados

Si bien las suscripciones suelen pertenecer al proveedor de contenido multimedia de la app de origen, se puede atribuir una suscripción a un paquete de servicio vinculado si se especifica el nombre del paquete de servicio vinculado dentro de la suscripción.

En el siguiente ejemplo de código, se muestra cómo crear una suscripción del usuario.

// Subscription for linked service package
val subscription = SubscriptionEntity
  .Builder()
  .setSubscriptionType(
    SubscriptionType.SUBSCRIPTION_TYPE_ACTIVE
  )
  .setProviderPackageName("com.google.android.example")
  // Optional
  // December 30, 2025 12:00:00AM in milliseconds since epoch
  .setExpirationTimeMillis(1767052800000)
  .build();

Además, si el usuario tiene otra suscripción a un servicio subsidiario, agrega otra suscripción y configura el nombre del paquete de servicio vinculado según corresponda.

// Subscription for linked service package
val linkedSubscription = Subscription
  .Builder()
  .setSubscriptionType(
    SubscriptionType.SUBSCRIPTION_TYPE_ACTIVE
  )
  .setProviderPackageName("linked service package name")
  // Optional
  // December 30, 2025 12:00:00AM in milliseconds since epoch
  .setExpirationTimeMillis(1767052800000)
  .addBundledSubscription(
    BundledSubscription.Builder()
      .setBundledSubscriptionProviderPackageName(
        "bundled-subscription-package-name"
      )
      .setSubscriptionType(SubscriptionType.SUBSCRIPTION_TYPE_ACTIVE)
      .setExpirationTimeMillis(111)
      .addEntitlement(
        SubscriptionEntitlement.Builder()
        .setExpirationTimeMillis(111)
        .setDisplayName("Silver subscription")
        .setEntitlementId("subscription.tier.platinum")
        .build()
      )
      .build()
  )
    .build();

También puedes agregar derechos a una suscripción de servicio vinculada.

Proporciona un conjunto de suscripciones

Ejecuta el trabajo de publicación de contenido mientras la app está en primer plano.

Usa el método publishSubscriptionCluster() de la clase AppEngagePublishClient para publicar un objeto SubscriptionCluster.

Usa isServiceAvailable para verificar si el servicio está disponible para la integración.

client.publishSubscription(
  PublishSubscriptionRequest.Builder()
    .setAccountProfile(accountProfile)
    .setSubscription(subscription)
    .build();
  )

Usa setSubscription() para verificar que el usuario solo debe tener una suscripción al servicio.

Usa addLinkedSubscription() o addLinkedSubscriptions(), que aceptan una lista de suscripciones vinculadas, para permitir que el usuario tenga cero o más suscripciones vinculadas.

Cuando el servicio recibe la solicitud, se crea una entrada nueva y la entrada anterior se borra automáticamente después de 60 días. El sistema siempre usa la entrada más reciente. En caso de error, se rechaza la solicitud completa y se mantiene el estado existente.

Mantén la suscripción actualizada

  1. Para proporcionar actualizaciones inmediatas cuando se produzcan cambios, llama a publishSubscriptionCluster() cada vez que cambie el estado de la suscripción de un usuario, como activaciones, desactivaciones, actualizaciones o cambios a una versión inferior.
  2. Para proporcionar una validación periódica de la precisión continua, llama a publishSubscriptionCluster() al menos una vez al mes.

  3. Para borrar los datos del Descubrimiento de videos de forma manual antes del período de retención estándar de 60 días, usa el método client.deleteClusters(). Esta acción borra todos los datos existentes del descubrimiento de videos para el perfil de la cuenta o para toda la cuenta, según el DeleteReason proporcionado.

    Fragmento de código para quitar la suscripción del usuario

      // If the user logs out from your media app, you must make the following call
      // to remove subscription and other video discovery data from the current
      // google TV device.
      client.deleteClusters(
        new DeleteClustersRequest.Builder()
          .setAccountProfile(
            AccountProfile
              .Builder()
              .setAccountId()
              .setProfileId()
              .build()
          )
        .setReason(DeleteReason.DELETE_REASON_USER_LOG_OUT)
        .build()
        )
      ```
    Following code snippet demonstrates removal of user subscription
    when user revokes the consent.
    
    ```Kotlin
      // If the user revokes the consent to share across device, make the call
      // to remove subscription and other video discovery data from all google
      // TV devices.
      client.deleteClusters(
        new DeleteClustersRequest.Builder()
          .setAccountProfile(
            AccountProfile
            .Builder()
            .setAccountId()
            .setProfileId()
            .build()
          )
          .setReason(DeleteReason.DELETE_REASON_LOSS_OF_CONSENT)
          .build()
      )
      ```
    
    Following code demonstrates how to remove subscription data on user profile
    deletion.
    
    ```Kotlin
    // If the user delete a specific profile, you must make the following call
    // to remove subscription data and other video discovery data.
    client.deleteClusters(
      new DeleteClustersRequest.Builder()
      .setAccountProfile(
        AccountProfile
        .Builder()
        .setAccountId()
        .setProfileId()
        .build()
      )
      .setReason(DeleteReason.DELETE_REASON_ACCOUNT_PROFILE_DELETION)
      .build()
    )
    

Prueba

En esta sección, se proporciona una guía paso a paso para probar la implementación de suscripciones. Verifica la precisión de los datos y el funcionamiento correcto antes del lanzamiento.

Lista de tareas para publicar la integración

  1. La publicación debe ocurrir cuando la app esté en primer plano y el usuario interactúe con ella de forma activa.

  2. Publicar cuando:

    • El usuario accede por primera vez.
    • El usuario cambia de perfil (si se admiten perfiles).
    • El usuario compra una suscripción nueva.
    • El usuario actualiza la suscripción.
    • Vence la suscripción del usuario.
  3. Comprueba si la app llama correctamente a las APIs de isServiceAvailable() y publishClusters() en logcat, en los eventos de publicación.

  4. Verifica que los datos sean visibles en la app de verificación. La app de verificación debe mostrar la suscripción como una fila independiente. Cuando se invoca la API de publicación, los datos deberían aparecer en la app de verificación.

    • Verifica que la marca de servicio Engage NO esté configurada como de producción en el archivo de manifiesto de Android de la app.
    • Instala y abre la app de Engage Verification.
    • Si el valor de isServiceAvailable es false en la app de verificación, haz clic en el botón Toggle dentro de la app de verificación para establecerlo en true.
    • Ingresa el nombre del paquete de la app. Los datos publicados se mostrarán automáticamente.
  5. Ve a la app y realiza cada una de las siguientes acciones:

    • Accede.
    • Cambiar entre perfiles (si se admite)
    • Compra una suscripción nueva.
    • Actualiza una suscripción existente.
    • Vence la suscripción.

Verifica la integración

Para probar tu integración, usa la app de verificación.

La app de verificación es una aplicación para Android que los desarrolladores pueden usar para verificar que la integración funcione. La app incluye capabilities que ayudan a los desarrolladores a verificar los datos y los intents de transmisión. Ayuda a verificar la precisión de los datos y el funcionamiento adecuado antes del lanzamiento.

  1. Para cada uno de los eventos, verifica si la app invocó la API de publishSubscription. Verifica los datos publicados en la app de verificación. Verifica que todo esté en verde en la app de verificación
  2. Si toda la información de la entidad es correcta, se mostrará una marca de verificación verde de "Todo bien" en todas las entidades.

    Captura de pantalla de la verificación correcta de la app
    Figura 1: Suscripción exitosa
  3. Los problemas también se destacan en la app de verificación.

    Captura de pantalla del error de la app de verificación
    Figura 2:No se pudo realizar la suscripción
  4. Para ver los problemas de la suscripción combinada, usa el control remoto de la TV para enfocarte en esa suscripción específica y haz clic para ver los problemas. Es posible que primero debas enfocarte en la fila y moverte hacia la derecha para encontrar la tarjeta de suscripción combinada. Los problemas se resaltan en rojo, como se muestra en la figura 3. Además, usa el control remoto para desplazarte hacia abajo y ver los problemas en los derechos de la suscripción agrupada.

    Captura de pantalla de los detalles del error de la app de verificación
    Figura 3:Errores de suscripción
  5. Para ver los problemas relacionados con el derecho, usa el control remoto de la TV para enfocarte en ese derecho específico y haz clic para ver los problemas. Los problemas se destacan en rojo.

    Captura de pantalla del error de la app de verificación
    Figura 4:Detalles del error de suscripción

Descargar

Antes de la descarga, debes aceptar los Términos y Condiciones.

Términos y Condiciones

Este es el Acuerdo de Licencia del Kit para Desarrollo de Software de Android

1. Introducción

1.1 Se le otorga licencia para el Kit de Desarrollo de Software de Android (al que se hace referencia en el Contrato de Licencia como "SDK" y que incluye específicamente los archivos de sistema de Android, las API incorporadas y los complementos de las API de Google) sujeto a las condiciones del Contrato de Licencia. El Contrato de Licencia constituye un acuerdo legalmente vinculante entre usted y Google en relación con el uso que usted haga del SDK. 1.2 "Android" significa la pila de software de Android para dispositivos, tal como se ofrece en el proyecto de código abierto de Android, disponible en la siguiente URL: https://source.android.com/, y sus actualizaciones ocasionales. 1.3 Una "implementación compatible" hace referencia a cualquier dispositivo Android que (i) cumpla con el documento de Definición de Compatibilidad de Android, que está disponible en el sitio web de compatibilidad de Android (https://source.android.com/compatibility) y puede actualizarse de manera periódica; y que (ii) supere satisfactoriamente el Conjunto de Pruebas de Compatibilidad de Android (CTS). 1.4 "Google" se refiere a Google LLC, una corporación organizada según las leyes del estado de Delaware, EE.UU., que opera bajos las leyes de Estados Unidos y cuya ubicación principal se encuentra en 1600 Amphitheatre Parkway, Mountain View, CA 94043, EE.UU.

2. Aceptación de este Contrato de Licencia

2.1 Para usar el SDK, primero debe aceptar este Contrato de Licencia. Si no lo hace, no podrá usar el SDK. 2.2 Al hacer clic para aceptar o usar este SDK, acepta los términos del Contrato de Licencia. 2.3 Usted no podrá usar el SDK ni aceptar el Contrato de Licencia si tiene prohibido recibir el SDK conforme a las leyes de los Estados Unidos o de otros países, incluido el país en el que resida o desde el cual usará el SDK. 2.4 Si acepta quedar vinculado por este Contrato de Licencia en nombre de su empleador o de otra entidad, usted manifiesta y garantiza que posee la capacidad legal absoluta para vincular a su empleador o entidad correspondiente a este Contrato de Licencia. Si no posee la autoridad requerida, no podrá aceptar el Contrato de Licencia ni usar el SDK en representación de su empleador o de otra entidad.

3. Licencia del SDK de Google

3.1 Sujeto a las condiciones del Contrato de Licencia, Google le otorga una licencia limitada, mundial, libre de derechos de autor, no asignable, no exclusiva y no susceptible de someterse a otras licencias para usar el SDK con el único fin de desarrollar aplicaciones para implementaciones compatibles de Android. 3.2 No podrá usar este SDK a fin de desarrollar aplicaciones para otras plataformas (incluidas las implementaciones no compatibles de Android) o para desarrollar otro SDK. Si lo desea, podrá desarrollar aplicaciones para otras plataformas, incluidas las implementaciones no compatibles de Android, siempre y cuando no lo haga con este SDK. 3.3 Usted acepta que Google o terceros poseen el derecho legal, la propiedad y el interés totales relacionados con el SDK, incluidos los Derechos de Propiedad Intelectual que este tenga. "Derechos de Propiedad Intelectual" hace referencia a todos los derechos otorgados por las leyes de patentes, las leyes de derechos de autor, las leyes de secreto comercial, las leyes de marca comercial y cualquier otro derecho de propiedad. Google se reserva todos los derechos que no se le otorguen a usted expresamente. 3.4 No podrá usar el SDK para ningún fin que no esté permitido expresamente en este Contrato de Licencia. Salvo en la medida en que lo exijan las licencias aplicables de terceros, no podrá copiar (excepto con fines de copia de seguridad), modificar, adaptar, redistribuir, descompilar ni desmontar el SDK ni ninguna de sus partes. Tampoco podrá aplicar ingeniería inversa ni crear obras derivadas de este. 3.5 El uso, la reproducción y la distribución de componentes del SDK con licencia de software de código abierto se rigen exclusivamente por los términos de la licencia de ese software de código abierto y no por el Contrato de Licencia. 3.6 Usted acepta que la forma y la naturaleza del SDK que proporciona Google pueden cambiar sin previo aviso, y que sus futuras versiones pueden ser incompatibles con las aplicaciones desarrolladas en versiones anteriores. Acepta que Google, a su entera discreción y sin previo aviso, puede dejar de brindarles a usted o a los usuarios en general (de forma permanente o temporal) el SDK (o cualquiera de sus funciones). 3.7 Nada de lo expresado en el Contrato de Licencia le otorga el derecho de usar alguno de los nombres comerciales, marcas comerciales, marcas de servicio, logotipos, nombres de dominio ni otras características distintivas de marca de Google. 3.8 Usted acepta que no eliminará, disimulará ni alterará ninguno de los avisos de derechos de propiedad (incluidos avisos de marca comercial y derechos de autor) que pudieran anexarse o incluirse en el SDK.

4. Uso del SDK por su parte

4.1 Google acepta que mediante el Contrato de Licencia no obtendrá ningún derecho, título ni interés de parte de usted (o sus proveedores de licencias) con respecto a cualquier aplicación de software que usted desarrolle usando el SDK, incluidos los derechos de propiedad intelectual que existan en esas aplicaciones. 4.2 Usted acepta usar el SDK y desarrollar las aplicaciones únicamente conforme a lo permitido por (a) el Contrato de Licencia y (b) las leyes, regulaciones o prácticas o pautas generalmente aceptadas aplicables en las jurisdicciones correspondientes (incluidas las leyes sobre la exportación de datos o software hacia y desde los Estados Unidos u otros países correspondientes). 4.3 Usted acepta que, si usa el SDK para desarrollar aplicaciones para usuarios del público en general, protegerá la privacidad y los derechos legales de esos usuarios. Si los usuarios le proporcionan sus nombres de usuario, contraseñas y otra información personal o de acceso, debe comunicarles que la información estará disponible para su aplicación, y debe proporcionar un aviso de privacidad con validez legal y protección para esos usuarios. Si en su aplicación se almacena información sensible o personal proporcionada por los usuarios, deberá hacerse de forma segura. Si el usuario le proporciona a su aplicación información de la Cuenta de Google, su aplicación solo podrá usarla para acceder a la Cuenta de Google del usuario únicamente cuando este le haya otorgado permiso y con los propósitos para los cuales se lo haya brindado. 4.4 Usted acepta que no participará en ninguna actividad con el SDK, incluido el desarrollo o la distribución de una aplicación, que interfiera, interrumpa, dañe o acceda sin autorización a los servidores, las redes u otras propiedades o servicios de un tercero, incluidos, sin limitaciones, Google o cualquier proveedor de comunicaciones móviles. 4.5 Usted acepta que es el único responsable (y que Google no asume responsabilidades con respecto a usted ni a terceros) de los datos, el contenido o los recursos que cree, transmita o muestre a través de Android o aplicaciones para Android, y de las consecuencias de sus acciones (incluidos los daños o las pérdidas que Google pudiera sufrir) al hacerlo. 4.6 Usted acepta que es el único responsable (y que Google no asume responsabilidades con respecto a usted ni a terceros) por incumplimientos de sus obligaciones conforme al Contrato de Licencia, contratos de terceros o Condiciones de Servicio aplicables, o bien leyes o normas aplicables, y por las consecuencias (incluidos los daños o las pérdidas que Google o cualquier tercero pudieran sufrir) debido a dicho incumplimiento.

5. Sus credenciales de desarrollador

5.1 Usted acepta que es responsable de mantener la confidencialidad de toda credencial de desarrollador que Google pudiera otorgarle o que pudiera escoger usted mismo, y que será el único responsable de todas las aplicaciones que se desarrollen con sus credenciales de desarrollador.

6. Información y privacidad

6.1 A fin de poder innovar y mejorar de forma continua el SDK, Google podría recopilar ciertas estadísticas de uso del software, lo que incluye, entre otros, un identificador único, la dirección IP asociada, el número de versión del software e información sobre las herramientas o los servicios del SDK que se usan y el modo en que estos se usan. Antes de recopilar esta información, el SDK se lo notificará y le solicitará su permiso. Sin su permiso, no se recopilará la información. 6.2 Los datos recopilados se examinan en conjunto para mejorar el SDK y se mantienen de acuerdo con la Política de Privacidad de Google, que se encuentra en la siguiente URL: https://policies.google.com/privacy. 6.3 Es posible que se compartan conjuntos de datos anónimos y agregados con los socios de Google para mejorar el SDK.

7. Aplicaciones de terceros

7.1 Si usa el SDK para ejecutar aplicaciones desarrolladas por un tercero o que acceden a datos, contenido o recursos proporcionados por un tercero, usted acepta que Google no es responsable por dichas aplicaciones, datos, contenido o recursos. Usted comprende que los datos, el contenido o los recursos a los que podría acceder a través de esas aplicaciones de terceros son exclusiva responsabilidad de la persona que los origina, y que Google no se responsabiliza por las pérdidas o los daños que usted pudiera experimentar como resultado del uso de cualquiera de tales aplicaciones, datos, contenido o recursos de terceros, o del acceso a estos. 7.2 Usted debe saber que los datos, el contenido y los recursos que le presentan a través de esa aplicación de un tercero pueden estar protegidos por derechos de propiedad intelectual que les pertenecen a sus proveedores (o a otras personas o empresas en representación de estos). No puede modificar, alquilar, arrendar, prestar, vender, distribuir ni crear trabajos derivados basados en estos datos, contenido o recursos (en su totalidad o en parte), a menos que los propietarios le hayan otorgado permiso específicamente para hacerlo. 7.3 Usted reconoce que el uso de dichos datos, contenido, recursos o aplicaciones de terceros puede estar sujeto a condiciones separadas entre usted y el tercero correspondiente. En ese caso, el Contrato de Licencia no afecta su relación legal con estos terceros.

8. Uso de las API de Android

8.1 API de datos de Google 8.1.1 Si usted usa una API para recuperar datos de Google, usted reconoce que los datos pueden estar protegidos por derechos de propiedad intelectual que le pertenecen a Google o a las partes que proporcionan los datos (o a otras personas o empresas en su nombre). El uso que realice de cualquiera de esas API puede estar sujeto a Condiciones de Servicio adicionales. No puede modificar, alquilar, arrendar, prestar, vender ni distribuir estos datos, ni crear obras derivadas sobre la base de ellos (en su totalidad o en parte), a menos que las Condiciones del Servicio correspondientes lo permitan. 8.1.2 Si usa una API para recuperar datos de un usuario de Google, usted reconoce y acepta que solo recuperará datos con el consentimiento explícito del usuario únicamente cuando este le haya otorgado permiso y con los propósitos para los cuales se lo haya otorgado. Si usa la API de Android Recognition Service (que se encuentra en https://developer.android.com/reference/android/speech/RecognitionService) y sus actualizaciones periódicas, reconoce que el uso de la API está sujeto al Anexo de Procesamiento de Datos para Productos en el que Google es un Procesador de Datos y que se encuentra en la siguiente URL: https://privacy.google.com/businesses/gdprprocessorterms/, según se actualice de manera periódica. Si hace clic en "Aceptar", acepta los términos del Anexo de Procesamiento de Datos para Productos en el que Google es un Procesador de Datos.

9. Rescisión de este Contrato de Licencia

9.1 El Contrato de Licencia continuará vigente hasta que lo rescinda usted o Google, tal como se indica a continuación. 9.2 Si desea resolver el Contrato de Licencia, puede hacerlo interrumpiendo el uso del SDK y de las credenciales de desarrollador pertinentes. 9.3 En los siguientes casos, Google podrá resolver el Contrato de Licencia en cualquier momento: (A) Usted no cumplió con alguna disposición del Contrato de Licencia. (B) La ley exige que Google lo haga. (C) El socio con el que Google le ofreció algunas partes del SDK (como las API) resolvió su relación con Google o dejó de proporcionarle a usted determinadas partes del SDK. (D) Google decide dejar de proporcionar el SDK o determinadas partes del SDK a usuarios del país en el que usted reside o desde el que usa el servicio; o el aprovisionamiento del SDK o determinados servicios del SDK que Google le brinda ya no son comercialmente viables, según Google. 9.4 Cuando el Contrato de Licencia finalice, no se verán afectados por este cese los derechos, las obligaciones ni las responsabilidades legales de los que usted y Google se hayan beneficiado, a los que hayan estado sujetos (o que se hayan acumulado con el paso del tiempo durante la vigencia del Contrato de Licencia) o cuya duración se extienda indefinidamente, y las disposiciones del párrafo 14.7 se continuarán aplicando a esos derechos, estas obligaciones y estas responsabilidades de forma indefinida.

10. RENUNCIA DE GARANTÍAS

10.1 USTED COMPRENDE Y ACEPTA EXPRESAMENTE QUE UTILIZA EL SDK BAJO SU PROPIO RIESGO Y QUE EL SDK SE PROPORCIONA "TAL CUAL" Y "SEGÚN ESTÉ DISPONIBLE" SIN GARANTÍA DE NINGÚN TIPO DE GOOGLE. 10.2 EL USO QUE USTED REALICE DEL SDK Y DE TODO MATERIAL DESCARGADO U OBTENIDO DE OTRA MANERA MEDIANTE EL USO DEL SDK ES A SU ENTERO RIESGO Y DISCRECIÓN, Y USTED ES EL ÚNICO RESPONSABLE DE CUALQUIER DAÑO QUE PUDIERA SUFRIR SU SISTEMA INFORMÁTICO U OTRO DISPOSITIVO, O POR LA PÉRDIDA DE DATOS COMO CONSECUENCIA DE TAL USO. 10.3 GOOGLE TAMBIÉN DENIEGA EXPRESAMENTE TODAS LAS GARANTÍAS Y CONDICIONES DE CUALQUIER TIPO, EXPRESAS O IMPLÍCITAS, INCLUIDAS, ENTRE OTRAS, LAS GARANTÍAS Y CONDICIONES IMPLÍCITAS DE COMERCIABILIDAD, IDONEIDAD PARA UN FIN DETERMINADO Y NO VIOLACIÓN.

11. LIMITACIÓN DE RESPONSABILIDADES

11.1 USTED COMPRENDE Y ACEPTA EXPRESAMENTE QUE GOOGLE, SUS SUBSIDIARIAS Y AFILIADAS, Y SUS PROVEEDORES DE LICENCIAS NO SE RESPONSABILIZARÁN ANTE USTED BAJO NINGUNA TEORÍA DE RESPONSABILIDAD POR DAÑOS DIRECTOS, INDIRECTOS, IMPREVISTOS, ESPECIALES, DERIVADOS O EJEMPLARES EN LOS QUE PUEDA INCURRIR, INCLUIDA CUALQUIER PÉRDIDA DE DATOS, INDEPENDIENTEMENTE DE QUE SE HAYA ADVERTIDO O NO A GOOGLE O A SUS REPRESENTANTES DE LA POSIBILIDAD DE QUE SE PRODUZCAN DICHAS PÉRDIDAS.

12. Indemnización

12.1 Hasta el grado máximo que permita la ley, usted acepta defender, indemnizar y eximir de responsabilidad a Google, sus afiliados y sus respectivos directores, funcionarios, empleados y agentes de cualquier reclamo, acción, juicio o proceso judicial, así como también de toda pérdida, responsabilidad, daño, costo y gasto (incluidos honorarios legales razonables) que surjan o se acumulen a partir (a) de su uso del SDK, (b) de cualquier aplicación que usted desarrolle en el SDK que constituya una infracción de cualquier derecho de autor, marca comercial, secreto comercial, imagen comercial, patente u otro derecho de propiedad intelectual de cualquier persona, o la difamación a cualquier persona o la infracción de sus derechos de publicidad o privacidad, y (c) de cualquier incumplimiento de su parte con respecto al Acuerdo de licencia.

13. Cambios en el Contrato de Licencia

13.1 Google puede realizar cambios al contrato de licencia a medida que distribuye nuevas versiones del SDK. Cuando se realicen estos cambios, Google emitirá una nueva versión del contrato de licencia, que estará disponible en el sitio web donde se comercialice el SDK. 14.1 El Contrato de Licencia representa en su totalidad el contrato legal entre usted y Google, regula el uso que haga del SDK (se excluye cualquier servicio que Google pueda proporcionarle conforme a un contrato por escrito independiente) y reemplaza por completo cualquier contrato anterior entre usted y Google en relación con el SDK. 14.2 Usted acepta que, si Google no ejerce ni impone un derecho o solución legal especificado en el Contrato de Licencia (o del que Google sea beneficiario conforme a cualquier ley aplicable), esto no se considerará como una renuncia a los derechos de Google y se entenderá que Google seguirá siendo beneficiario de esos derechos o soluciones legales. 14.3 Si un tribunal que tenga jurisdicción para decidir sobre este asunto dictamina que alguna disposición de este Contrato de Licencia no es válida, se quitará esa disposición sin afectar al resto del Contrato de Licencia. Las disposiciones restantes del Contrato de Licencia continuarán siendo válidas y aplicables. 14.4 Reconoce y acepta que cada uno de los miembros del grupo de empresas de las que Google es la casa matriz serán beneficiarios terceros del Contrato de Licencia y que esas otras empresas tendrán derecho a imponer directamente cualquier disposición del Contrato de Licencia que les confiera un beneficio (o que tengan derechos a su favor) y que podrán ampararse en ella. Además de lo mencionado, nadie más ni ninguna empresa serán beneficiarios terceros del Contrato de Licencia. 14.5 RESTRICCIONES SOBRE LA EXPORTACIÓN. EL SDK ESTÁ SUJETO A LAS LEYES Y NORMATIVAS DE EXPORTACIÓN DE ESTADOS UNIDOS. USTED DEBE CUMPLIR CON TODAS LAS LEYES Y NORMATIVAS INTERNACIONALES Y NACIONALES DE EXPORTACIÓN QUE SE APLICAN AL SDK. ESTAS LEYES INCLUYEN RESTRICCIONES SOBRE LOS DESTINOS, LOS USUARIOS FINALES Y LA FINALIDAD. 14.6 Ni usted ni Google podrán asignar ni transferir los derechos que se otorgan en el Contrato de Licencia sin la aprobación previa por escrito de la otra parte. Ni usted ni Google podrán delegar sus responsabilidades u obligaciones del Contrato de Licencia sin la aprobación previa por escrito de la otra parte. 14.7 El Contrato de Licencia y la relación con Google que surge del Contrato de Licencia se regirán por las leyes del estado de California, independientemente de su conflicto con las disposiciones legales. Usted y Google aceptan someterse a la jurisdicción exclusiva de los tribunales ubicados en el condado de Santa Clara, California, para que resuelvan todo problema legal que surja de este Contrato de Licencia o esté relacionado con él. No obstante, usted acepta que Google aún podrá solicitar recursos judiciales (o una clase equivalente de compensación legal urgente) en cualquier jurisdicción. 27 de julio de 2021
Descargar

verify_app_multiplatform_public_20250602.apk