Compartilhar direitos de acesso do app com o Google TV usando o SDK Engage

Este guia contém instruções para desenvolvedores compartilharem dados de assinatura e direitos do app com o Google TV usando o SDK Engage. Os usuários podem encontrar conteúdo a que têm direito e permitir que o Google TV ofereça recomendações de conteúdo altamente relevantes diretamente nas experiências do Google TV em TVs, dispositivos móveis e tablets.

Pré-requisitos

É necessário integrar o feed de ações de mídia antes de usar a API de direitos do dispositivo. Se ainda não tiver feito isso, conclua o processo de integração do feed de ações de mídia.

Pré-trabalho

Antes de começar, siga estas etapas: Verifique se o app é direcionado à API de nível 19 ou mais recente para essa integração.

  1. Adicione a biblioteca com.google.android.engage ao app:

    Há SDKs separados para usar na integração: um para apps para dispositivos móveis e outro para apps de TV.

    Para dispositivos móveis

    
      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. Defina o ambiente de serviço do Engage como produção no arquivo AndroidManifest.xml.

    Para APKs de dispositivos móveis

    
    <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 o APK ao Google, defina o ambiente de serviço de engajamento como produção no arquivo AndroidManifest.xml. Para ter um desempenho ideal e compatibilidade futura, publique dados somente quando o app estiver em primeiro plano e o usuário estiver interagindo ativamente com ele, como no lançamento do app, após o login ou durante o uso ativo. Não é recomendável publicar de processos em segundo plano.

  4. Publicar informações de assinatura nos seguintes eventos:

    1. O usuário faz login no app.
    2. O usuário alterna entre perfis (se eles forem compatíveis).
    3. O usuário compra uma nova assinatura.
    4. O usuário faz upgrade de uma assinatura.
    5. A assinatura do usuário expira.

Integração

Esta seção fornece os exemplos de código e as instruções necessárias para implementar AccountProfile e SubscriptionEntity e gerenciar vários tipos de assinatura.

Conta e perfil do usuário

Para permitir recursos personalizados no Google TV, forneça informações da conta. Use o AccountProfile para fornecer:

  1. ID da conta: um identificador exclusivo que representa a conta do usuário. Pode ser o ID da conta real ou uma versão adequadamente ofuscada.
// 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();

Assinatura de nível comum

Para usuários com assinaturas básicas de serviços de provedores de mídia, por exemplo, um serviço que tem um nível de assinatura que concede acesso a todo o conteúdo pago, forneça estes detalhes essenciais:

  1. Tipo de assinatura:indique claramente o plano de assinatura específico que o usuário tem.

    1. SUBSCRIPTION_TYPE_ACTIVE: o usuário tem uma assinatura paga ativa.
    2. SUBSCRIPTION_TYPE_ACTIVE_TRIAL: o usuário tem uma assinatura de teste.
    3. SUBSCRIPTION_TYPE_INACTIVE: o usuário tem uma conta, mas não tem uma assinatura ou um teste ativo.
  2. Prazo de validade:tempo opcional em milissegundos. Especifique quando a assinatura vai expirar.

  3. Nome do pacote do provedor:especifique o nome do pacote do app que processa a assinatura.

Exemplo para o feed do provedor de mídia de amostra.

"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
  }

O exemplo a seguir cria um SubscriptionEntity para um usuário:

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();

Assinatura Premium

Se o app oferecer pacotes de assinatura premium de vários níveis, incluindo conteúdo ou recursos expandidos além do nível comum, represente isso adicionando um ou mais direitos à assinatura.

Esse direito tem os seguintes campos:

  1. Identificador:string de identificador obrigatória para esse direito. Ele precisa corresponder a um dos identificadores de direitos (não é o campo "ID") fornecidos no feed do provedor de mídia publicado no Google TV.
  2. Nome:são informações auxiliares usadas para correspondência de direitos. Embora seja opcional, fornecer um nome de direito legível para humanos melhora a compreensão dos direitos do usuário para desenvolvedores e equipes de suporte. Por exemplo: Sling Orange.
  3. Expiration TimeMillis: especifique opcionalmente o prazo de validade em milissegundos para esse direito, se ele for diferente do prazo de validade da assinatura. Por padrão, o direito expira com a assinatura.

Para o snippet de feed de provedor de mídia de exemplo a seguir:

"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"
  }

O exemplo a seguir cria um SubscriptionEntity para um usuário inscrito:

// 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();

Assinatura do pacote de serviços vinculados

Embora as assinaturas normalmente pertençam ao provedor de mídia do app de origem, é possível atribuir uma assinatura a um pacote de serviços vinculados especificando o nome do pacote de serviços vinculados na assinatura.

O exemplo de código a seguir demonstra como criar uma assinatura de usuário.

// 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();

Além disso, se o usuário tiver outra assinatura de um serviço subsidiário, adicione outra assinatura e defina o nome do pacote do serviço vinculado de acordo.

// 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();

Se quiser, adicione direitos a uma assinatura de serviço vinculada também.

Fornecer conjunto de assinaturas

Execute o trabalho de publicação de conteúdo enquanto o app estiver em primeiro plano.

Use o método publishSubscriptionCluster() da classe AppEngagePublishClient para publicar um objeto SubscriptionCluster.

Use isServiceAvailable para verificar se o serviço está disponível para integração.

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

Use setSubscription() para verificar se o usuário tem apenas uma assinatura do serviço.

Use addLinkedSubscription() ou addLinkedSubscriptions(), que aceitam uma lista de assinaturas vinculadas, para permitir que o usuário tenha zero ou mais assinaturas vinculadas.

Quando o serviço recebe a solicitação, uma nova entrada é criada e a antiga é excluída automaticamente após 60 dias. O sistema sempre usa a entrada mais recente. Em caso de erro, a solicitação inteira é rejeitada e o estado atual é mantido.

Manter a assinatura atualizada

  1. Para fornecer atualizações imediatas após as mudanças, chame publishSubscriptionCluster() sempre que o estado da assinatura de um usuário mudar como ativação, desativação, upgrades e downgrades.
  2. Para fornecer validação regular da acurácia contínua, chame publishSubscriptionCluster() pelo menos uma vez por mês.

  3. Para excluir os dados de descoberta de vídeo, exclua manualmente os dados de um usuário do servidor do Google TV antes do período padrão de retenção de 60 dias usando o método client.deleteClusters(). Isso exclui todos os dados de descoberta de vídeo existentes para o perfil da conta ou para a conta inteira, dependendo do DeleteReason especificado.

    Snippet de código para remover a assinatura do usuário

      // 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()
    )
    

Teste

Esta seção fornece um guia detalhado para testar a implementação de assinaturas. Verifique a precisão dos dados e a funcionalidade adequada antes do lançamento.

Lista de verificação de publicação da integração

  1. A publicação deve acontecer quando o app está em primeiro plano e o usuário interage ativamente com ele.

  2. Publicar quando:

    • O usuário faz login pela primeira vez.
    • O usuário muda de perfil (se houver suporte para perfis).
    • O usuário compra uma nova assinatura.
    • O usuário faz upgrade da assinatura.
    • A assinatura do usuário expira.
  3. Verifique se o app está chamando corretamente as APIs isServiceAvailable() e publishClusters() no logcat, nos eventos de publicação.

  4. Confira se os dados estão visíveis no app de verificação. O app de verificação mostra a assinatura como uma linha separada. Quando a API de publicação é invocada, os dados aparecem no app de verificação.

    • Verifique se a flag do serviço Engage NÃO está definida como produção no arquivo de manifesto do Android do app.
    • Instale e abra o app Engage Verification.
    • Se o valor de isServiceAvailable for false no app de verificação, clique no botão Toggle no app de verificação para definir como true.
    • Insira o nome do pacote do app. Os dados publicados vão aparecer automaticamente.
  5. Acesse o app e faça cada uma das seguintes ações:

    • Faça login.
    • alternar entre perfis (se compatível).
    • Compre uma nova assinatura.
    • Fazer upgrade de uma assinatura.
    • Expirar a assinatura.

Verificar a integração

Para testar sua integração, use o app de verificação.

O app de verificação é um app Android que os desenvolvedores podem usar para conferir se a integração está funcionando. O app inclui funcionalidades para ajudar os desenvolvedores a verificar dados e transmitir intents. Isso ajuda a verificar a precisão dos dados e a funcionalidade adequada antes do lançamento.

  1. Para cada um dos eventos, verifique se o app invocou a API publishSubscription. Verifique os dados publicados no app de verificação. Confira se tudo está verde no app de verificação
  2. Se todas as informações da entidade estiverem corretas, um ícone de marca de seleção verde "Tudo certo" vai aparecer em todas as entidades.

    Captura de tela de sucesso do app de verificação
    Figura 1. Assinatura feita com sucesso
  3. Os problemas também são destacados no app de verificação

    Captura de tela de erro do app de verificação
    Figura 2.Assinatura sem sucesso
  4. Para ver os problemas na assinatura do pacote, use o controle remoto da TV para focar na assinatura específica e clique para conferir os problemas. Talvez seja necessário primeiro focar na linha e mover para a direita para encontrar o card "Assinatura agrupada". Os problemas são destacados em vermelho, conforme mostrado na Figura 3. Use também o controle remoto para rolar para baixo e ver problemas nos direitos na assinatura agrupada.

    Captura de tela com detalhes do erro do app de verificação
    Figura 3.Erros de assinatura
  5. Para ver os problemas no direito, use o controle remoto da TV para focar nesse direito específico e clique para ver os problemas. Os problemas são destacados em vermelho.

    Captura de tela de erro do app de verificação
    Figura 4.Detalhes do erro de assinatura

Fazer o download

Antes de fazer o download, é necessário concordar com os Termos e Condições a seguir.

Termos e Condições

Este é o Contrato de Licença do kit de desenvolvimento de software do Android

1. Introdução

1.1 O kit de desenvolvimento de software do Android (referido no Contrato de Licença como "SDK" e incluindo especificamente os arquivos do sistema Android, pacotes de APIs e complementos de APIs do Google) é licenciado para você de acordo com os termos do Contrato de Licença. O Contrato de Licença constitui um acordo legal entre você e o Google em relação ao uso do SDK. 1.2 "Android" significa a pilha de software Android para dispositivos, conforme disponibilizado no Android Open Source Project, localizado no seguinte URL: https://source.android.com/, atualizado periodicamente. 1.3 Uma "implementação compatível" significa qualquer dispositivo Android que (i) esteja em conformidade com o documento de definição de compatibilidade do Android, que pode ser encontrado no site de compatibilidade do Android (https://source.android.com/compatibility) e atualizado periodicamente; e (ii) seja aprovado no conjunto de teste de compatibilidade do Android (CTS). 1.4 "Google" se refere à Google LLC, empresa estabelecida de acordo com as leis do estado de Delaware, EUA, e que opera de acordo com as leis dos EUA, com sede principal em 1600 Amphitheatre Parkway, Mountain View, CA 94043, EUA.

2. Aceitação deste Contrato de Licença

2.1 Para usar o SDK, primeiro é preciso concordar com o Contrato de Licença. Não é possível usar o SDK sem aceitar o Contrato de Licença. 2.2 Ao clicar para aceitar e/ou usar este SDK, você atesta que concorda com os termos do Contrato de Licença. 2.3 São proibidos o uso do SDK e a aceitação deste Contrato de Licença por indivíduos legalmente impedidos de receber o SDK nos termos das leis dos Estados Unidos ou de outros países, incluindo seu país de residência ou no qual você usa o SDK. 2.4 Se você aceitar as obrigações estabelecidas no Contrato de Licença em nome do seu empregador ou de outra entidade, você declara e garante ter total autoridade legal para vincular seu empregador ou tal entidade ao Contrato de Licença. Se você não tiver a autoridade necessária, não poderá aceitar o Contrato de Licença ou usar o SDK em nome do seu empregador ou de outra entidade.

3. Licença do SDK do Google

3.1 Sujeito aos termos do Contrato de Licença, o Google concede a você uma licença limitada, mundial, livre de royalties, não atribuível, não exclusiva e não sublicenciável para usar o SDK apenas com fins de desenvolvimento de aplicativos para implementações compatíveis do Android. 3.2 Não é permitido usar este SDK para desenvolver aplicativos para outras plataformas (incluindo implementações não compatíveis do Android) ou para desenvolver outro SDK. Evidentemente, você está livre para desenvolver aplicativos para outras plataformas, incluindo implementações não compatíveis do Android, desde que este SDK não seja usado para essa finalidade. 3.3 Você concorda que o Google ou terceiros detêm todos os direitos legais, títulos e participações no SDK, incluindo quaisquer direitos de propriedade intelectual que subsistam no SDK. "Direitos de propriedade intelectual" refere-se a todo e qualquer direito existente de acordo com a lei de patentes, a lei de direitos autorais, a lei de segredos comerciais, a lei de marcas registradas e todo e qualquer outro direito de propriedade. O Google se reserva todos os direitos não concedidos expressamente a você. 3.4 Não é permitido o uso do SDK para qualquer outra finalidade que não seja expressamente permitida pelo Contrato de Licença. Exceto na medida imposta por licenças aplicáveis de terceiros, não é permitido copiar (exceto para fins de backup), modificar, adaptar, redistribuir, descompilar, fazer engenharia reversa, desmontar ou criar obras derivadas do SDK ou de qualquer parte do SDK. 3.5 O uso, a reprodução e a distribuição de componentes do SDK licenciado sob uma licença de software de código aberto são regidos exclusivamente pelos termos dessa licença de software de código aberto, e não pelo Contrato de Licença. 3.6 Você concorda que a forma e a natureza do SDK fornecido pelo Google podem mudar sem aviso prévio e que as versões futuras do SDK podem ser incompatíveis com aplicativos desenvolvidos em versões anteriores dele. Você concorda que o Google pode parar, de modo permanente ou temporário, de fornecer o SDK (ou qualquer recurso dele) para você ou para usuários em geral, a critério exclusivo do Google, sem aviso prévio. 3.7 Nada no Contrato de Licença concede a você o direito de usar qualquer um dos nomes comerciais, marcas registradas, marcas de serviço, logotipos, nomes de domínio ou outras características da marca do Google. 3.8 Você concorda em não remover, ocultar ou alterar quaisquer notificações de direitos de propriedade (incluindo notificações de direitos autorais e marcas comerciais) que possam estar afixadas ou contidas no SDK.

4. Uso do SDK

4.1 O Google concorda que não receberá qualquer direito, título ou participação de você (ou dos seus licenciantes) conforme o Contrato de Licença em ou para qualquer aplicativo de software que você desenvolva usando o SDK, incluindo direitos de propriedade intelectual que subsistam nesses aplicativos. 4.2 Você concorda em usar o SDK e criar aplicativos apenas para os fins permitidos pelo (a) Contrato de Licença e (b) qualquer legislação, regulamento, práticas ou diretrizes geralmente aceitas nas jurisdições relevantes, incluindo qualquer lei relacionada à exportação de dados ou software para e dos Estados Unidos ou outros países relevantes. 4.3 Você concorda que, caso utilize o SDK para desenvolver aplicativos para usuários do público geral, protegerá a privacidade e os direitos legais desses usuários. Se os usuários fornecerem nomes de usuário, senhas ou outras informações de login ou pessoais, você deverá informar a eles que as informações estarão disponíveis no seu aplicativo. Você também deverá fornecer avisos de privacidade e proteger a privacidade dos usuários de forma legalmente adequada. Caso seu aplicativo armazene informações pessoais ou confidenciais fornecidas pelos usuários, precisará fazê-lo de forma segura. Se o usuário fornecer ao aplicativo informações da Conta do Google, seu app poderá usar essas informações somente para acessar a Conta do Google do usuário quando e para os fins limitados aos que o usuário tenha dado permissão. 4.4 Você concorda que não se envolverá em qualquer atividade com o SDK que interfira, perturbe, danifique ou acesse servidores, redes ou outras propriedades ou serviços de terceiros de modo não autorizado, incluindo o desenvolvimento ou a distribuição de um aplicativo. Isso inclui, sem limitações, o Google ou qualquer operadora de comunicações móveis. 4.5 Você se responsabiliza integralmente (e reconhece que o Google não tem nenhuma responsabilidade para com você ou para com terceiros) por qualquer dado, conteúdo ou recurso que você criar, transmitir ou exibir pelo Android e/ou por aplicativos para Android e pelas consequências das suas ações, incluindo qualquer perda ou dano que o Google possa sofrer. 4.6 Você se responsabiliza integralmente (e reconhece que o Google não tem nenhuma responsabilidade para com você ou para com terceiros) por qualquer violação das suas obrigações estabelecidas pelo Contrato de Licença, por qualquer contrato ou Termos de Serviço aplicáveis de terceiros ou por qualquer lei ou regulamentação aplicável e pelas consequências (incluindo perdas ou danos que o Google ou terceiros possam sofrer) resultantes de qualquer violação.

5. Suas credenciais de desenvolvedor

Você assume a responsabilidade de manter a confidencialidade de qualquer credencial de desenvolvedor que possa ser emitida pelo Google ou que esteja à sua escolha e responsabiliza-se integralmente por todos os aplicativos desenvolvidos com as suas credenciais de desenvolvedor.

6. Privacidade e informações

6.1 A fim de inovar e melhorar o SDK continuamente, o Google pode coletar determinadas estatísticas de uso do software, incluindo, mas não se limitando a, um identificador único, o endereço IP associado, o número da versão do software e informações sobre quais ferramentas e/ou serviços no SDK estão sendo usados e como estão sendo usados. Antes da coleta de qualquer uma dessas informações, você será notificado e poderá consentir ou negar essa ação. Se você negar o consentimento, as informações não serão coletadas. 6.2 Os dados coletados são analisados de forma agregada para melhorar o SDK e são mantidos de acordo com a Política de Privacidade do Google, localizada no seguinte URL: https://policies.google.com/privacy 6.3 Conjuntos anonimizados e agregados dos dados podem ser compartilhados com os parceiros do Google para melhorar o SDK.

7. Aplicativos de terceiros

7.1 Ao usar o SDK para executar aplicativos desenvolvidos por terceiros ou que acessem dados, conteúdos ou recursos fornecidos por um terceiro, você concorda que o Google não será responsável por esses aplicativos, dados, conteúdos ou recursos. Você entende que todos os dados, conteúdos ou recursos que possa acessar por esses aplicativos de terceiros são de exclusiva responsabilidade da pessoa que os forneceu e que o Google não é responsável por qualquer perda ou dano que você possa ter em decorrência do uso ou acesso de qualquer um desses aplicativos, dados, conteúdos ou recursos de terceiros. 7.2 Você está ciente de que os dados, conteúdos e recursos apresentados a você por esse aplicativo de terceiros podem estar protegidos por direitos de propriedade intelectual detidos pelos fornecedores (ou por outras pessoas ou empresas deles). Não é permitido modificar, alugar, emprestar, vender, distribuir ou criar trabalhos derivados com base nesses dados, conteúdos ou recursos (na íntegra ou em parte), a menos que você tenha recebido permissão específica para isso por parte dos proprietários relevantes. 7.3 Você reconhece que o uso desses aplicativos, dados, conteúdos ou recursos de terceiros podem estar sujeitos a termos adicionais entre você e o terceiro relevante. Nesse caso, o Contrato de Licença não afeta sua relação jurídica com esses terceiros.

8. Uso de APIs do Android

8.1 APIs Google Data 8.1.1 Ao utilizar qualquer API para recuperar dados do Google, você reconhece que os dados podem estar protegidos por direitos de propriedade intelectual do Google ou das partes que fornecem os dados (ou de outras pessoas ou empresas em nome delas). O uso que você faz de qualquer API pode estar sujeito a Termos de Serviço adicionais. Não é permitido modificar, alugar, emprestar, vender, distribuir ou criar trabalhos derivados com base nesses dados (na íntegra ou em parte), a menos que isso seja permitido pelos Termos de Serviço relevantes. 8.1.2 Ao utilizar qualquer API para acessar dados de um usuário do Google, você reconhece e concorda em acessar os dados apenas com o consentimento explícito do usuário e somente quando e para os fins limitados aos quais o usuário tenha dado permissão. Se você usa a API Android Recognition Service, documentada no seguinte URL: https://developer.android.com/reference/android/speech/RecognitionService, conforme atualizado periodicamente, você reconhece que o uso da API está sujeito ao Adendo de processamento de dados para produtos em que o Google é um processador de dados, localizado no seguinte URL: https://privacy.google.com/businesses/gdprprocessorterms/ (link em inglês), conforme atualizado periodicamente. Ao clicar para aceitar, você concorda com os termos do Adendo de processamento de dados para produtos em que o Google é um processador de dados.

9. Rescisão deste Contrato de Licença

9.1 O Contrato de Licença continuará em vigor até a rescisão pelo desenvolvedor ou pelo Google, conforme estabelecido abaixo. 9.2 Caso queira rescindir o Contrato de Licença, você poderá fazê-lo cessando o uso do SDK e de qualquer credencial relevante de desenvolvedor. 9.3 O Google pode, a qualquer momento, rescindir o Contrato de Licença se: (A) você tiver violado qualquer cláusula do Contrato de Licença; ou (B) o Google for obrigado a fazer isso por lei; ou (C) o parceiro com o qual o Google ofereceu certas partes do SDK (como APIs) tiver rescindido a relação com o Google ou deixado de oferecer certas partes do SDK para você; ou (D) o Google decidir deixar de fornecer o SDK ou certas partes do SDK a usuários do país onde você reside ou em que utiliza o serviço, ou se o fornecimento do SDK ou a prestação de certos serviços do SDK pelo Google deixarem de ser, a critério exclusivo do Google, comercialmente viáveis. 9.4 Quando o Contrato de Licença chegar ao fim, todos os direitos, obrigações e responsabilidades de que você e o Google se beneficiaram, aos quais estiveram sujeitos (ou que tenham acumulado enquanto o Contrato de Licença esteve em vigor) ou que estiverem definidos para continuar por tempo indeterminado, não serão afetados por essa rescisão, e as disposições do parágrafo 14.7 continuarão a ser aplicáveis a esses direitos, obrigações e responsabilidades indefinidamente.

10. EXONERAÇÃO DE RESPONSABILIDADE DE GARANTIAS

10.1 VOCÊ ENTENDE E CONCORDA EXPRESSAMENTE QUE O USO DO SDK É FEITO POR SUA CONTA E RISCO E QUE O SDK É FORNECIDO "NO ESTADO EM QUE SE ENCONTRA" E "CONFORME DISPONIBILIDADE" SEM GARANTIAS DE QUALQUER TIPO DO GOOGLE. 10.2 O SDK E QUALQUER MATERIAL BAIXADO OU OBTIDO DE OUTRO MODO POR MEIO DO SDK SÃO USADOS A SEU CRITÉRIO E RISCO E VOCÊ É O ÚNICO RESPONSÁVEL POR QUALQUER DANO AO SEU SISTEMA DE COMPUTADORES OU A OUTRO DISPOSITIVO, BEM COMO PELA PERDA DE DADOS QUE PODE RESULTAR DESSE USO. 10.3 ALÉM DISSO, O GOOGLE EXCLUI EXPRESSAMENTE TODAS AS GARANTIAS E CONDIÇÕES DE QUALQUER TIPO, EXPRESSAS OU IMPLÍCITAS, INCLUINDO, ENTRE OUTRAS, GARANTIAS E CONDIÇÕES IMPLÍCITAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UMA FINALIDADE PARTICULAR E A NÃO VIOLAÇÃO.

11. LIMITAÇÃO DE RESPONSABILIDADE

11.1 VOCÊ ENTENDE E CONCORDA EXPRESSAMENTE QUE O GOOGLE, AS SUBSIDIÁRIAS E AFILIADAS DELE E OS LICENCIANTES DELE NÃO SERÃO RESPONSÁVEIS PERANTE VOCÊ EM QUALQUER TEORIA DE RESPONSABILIDADE POR DANOS DIRETOS, INDIRETOS, INCIDENTAIS, ESPECIAIS, EMERGENTES OU EXEMPLARES QUE VOCÊ POSSA SOFRER, INCLUINDO PERDA DE DADOS, QUER O GOOGLE OU OS REPRESENTANTES DELE TENHAM OU NÃO SIDO NOTIFICADOS OU TIVESSEM CONHECIMENTO DA POSSIBILIDADE DE OCORRÊNCIA DE TAIS PERDAS.

12. Indenização

12.1 Até o limite máximo permitido por lei, você concorda em defender, indenizar e isentar de responsabilidade o Google, as afiliadas dele e os respectivos diretores, executivos, funcionários e agentes de e contra toda e qualquer contestação, ação, processo ou procedimento, bem como toda e qualquer perda, responsabilidade, dano, custo e despesa (incluindo honorários advocatícios razoáveis) decorrentes ou resultantes de (a) seu uso do SDK, (b) qualquer aplicativo que você desenvolva no SDK que viole direitos autorais, marcas registradas, segredos comerciais, conjunto-imagem, patentes ou outro direito de propriedade intelectual de qualquer pessoa, ou difame qualquer pessoa ou viole os direitos de imagem ou privacidade dela e (c) qualquer situação em que você descumpra o Contrato de Licença.

13. Alterações no Contrato de Licença

13.1 A Google pode modificar o Contrato de licença à medida que distribui novas versões do SDK. Quando essas mudanças forem realizadas, a Google criará uma nova versão do Contrato de licença, disponível no site em que o SDK for disponibilizado. 14.1 O Contrato de Licença constitui o acordo integral entre você e o Google e rege o uso do SDK (excluindo qualquer serviço que o Google possa fornecer a você segundo um contrato escrito em separado) e substitui integralmente quaisquer contratos anteriores entre você e o Google em relação ao SDK. 14.2 Você concorda que, se o Google não exercer nem fizer valer qualquer direito ou recurso legal contido no Contrato de Licença (ou conferido ao Google nos termos de qualquer lei aplicável), esse fato não será considerado renúncia formal aos direitos do Google e esses direitos ou recursos legais continuarão disponíveis para o Google. 14.3 Se algum tribunal com jurisdição para decidir sobre esse caso determinar que alguma cláusula do Contrato de Licença é inválida, tal cláusula será removida do Contrato de Licença sem afetar o restante do Contrato de Licença. As cláusulas restantes do Contrato de Licença continuarão válidas e executáveis. 14.4 Você reconhece e concorda que cada membro do grupo de empresas controladas pelo Google será um terceiro beneficiário do Contrato de Licença e que essas outras empresas terão direito de aplicar diretamente e contar com qualquer cláusula do Contrato de Licença que conferir um benefício a elas (ou um direito a favor delas). Fora isso, nenhuma outra pessoa ou empresa poderá ser um terceiro beneficiário do Contrato de Licença. 14.5 RESTRIÇÕES DE EXPORTAÇÃO. O SDK ESTÁ SUJEITO ÀS LEIS E REGULAMENTAÇÕES DE EXPORTAÇÃO DOS ESTADOS UNIDOS. VOCÊ PRECISA OBEDECER A TODAS AS LEIS E REGULAMENTAÇÕES DE EXPORTAÇÃO NACIONAIS E INTERNACIONAIS APLICÁVEIS AO SDK. ESSAS LEIS INCLUEM RESTRIÇÕES DE DESTINO, USUÁRIOS FINAIS E USO FINAL. 14.6 Os direitos concedidos no Contrato de Licença não podem ser atribuídos ou transferidos por você ou pelo Google sem a aprovação prévia, por escrito, da outra parte. Não será permitido, nem a você nem ao Google, delegar suas responsabilidades ou obrigações estabelecidas por este Contrato de Licença sem aprovação prévia, por escrito, da outra parte. 14.7 O Contrato de Licença e sua relação com o Google nos termos do Contrato de Licença serão regidos pelas leis do estado da Califórnia sem considerar conflitos de provisões legais. Você e o Google concordam em se submeter à jurisdição exclusiva dos tribunais localizados no condado de Santa Clara, Califórnia, para resolver qualquer questão legal decorrente do Contrato de Licença. Não obstante, você aceita que o Google continuará a ter o direito de solicitar as medidas judiciais de reparação cabíveis (ou tipo equivalente de medida jurídica urgente) em qualquer jurisdição. 27 de julho de 2021
Fazer o download de

verify_app_multiplatform_public_20250602.apk