Configurações avançadas

Comece seguindo as instruções no artigo de integração básica e, em seguida, as instruções para qualquer um dos formatos de anúncio que você deseja integrar (anúncios intersticiais ou com recompensa, anúncios em banner, anúncios no formato MREC). Este artigo contém informações complementares e pressupõe que você tenha concluído a integração básica.

Instruções de implementação recomendada pelo RGPD

O Regulamento Geral sobre a Proteção de Dados (RGPD) entrou em vigor na União Europeia em 25 de maio de 2019. Para estar em conformidade com o RGPD, os desenvolvedores têm duas opções.

  • Opção 1 (recomendado): O distribuidor controla o processo de consentimento do RGPD do usuário e comunica as escolhas do usuário à Vungle. Para isso, os desenvolvedores podem coletar o consentimento do usuário usando seus próprios mecanismos, usando a seguir as APIs da Vungle para atualizar ou enviar uma consulta do status de consentimento do usuário. Consulte a seção do exemplo de código abaixo para obter detalhes.
  • Opção 2: A Vungle pode lidar com as exigências, exibindo uma caixa de diálogo de consentimento antes de exibir um anúncio para um usuário europeu, e lembrará o consentimento ou rejeição do usuário em anúncios subsequentes.

O método updateConsentStatus (recomendado na Opção 1) leva o status de consentimento do usuário e a versão da mensagem de consentimento como seus parâmetros.

public static void updateConsentStatus(@NonNull Consent status, @NonNull String consentMessageVersion)

O status de consentimento especificará se o usuário tem OPTED_IN ou OPTED_OUT da versão da mensagem exibida. O consentMessageVersion especifica a versão da política de consentimento controlada pelo distribuidor. Isso permite que você agrupe seus usuários pela versão da mensagem e busque consentimento novamente quando a política de RGPD mudar.

// Usage example of GDPR API
// To set the user's consent status to opted in:
Vungle.updateConsentStatus(Vungle.Consent.OPTED_IN, “1.0.0”);

// To set the user's consent status to opted out:
Vungle.updateConsentStatus(Vungle.Consent.OPTED_OUT, “1.0.0”);

// To find out what the user's current consent status is:
// This will return null if the GDPR Consent status has not been set
// Otherwise, it will return Vungle.Consent.OPTED_IN or Vungle.Consent.OPTED_OUT
Vungle.Consent currentGDPRStatus = Vungle.getConsentStatus();
String consentMessageVersion = Vungle.getConsentMessageVersion();

Implementação da CCPA

A partir de 1º de julho de 2020, a Lei de Privacidade do Consumidor da Califórnia (CCPA) será aplicada e os distribuidores devem atualizar para o Android SDK 6.7.0 para cumprir com a CCPA.

O método updateCCPAStatus obtém o status de consentimento do usuário para especificar se o usuário tem OPTED_IN ou OPTED_OUT e o método getCCPAStatus() retorna o status atual da CCPA do usuário.

public static void updateCCPAStatus(@NonNull final Consent status)
public static Consent getCCPAStatus()
// Usage example of CCPA API
// To set the user's CCPA status to opted in:
Vungle.updateCCPAStatus(Consent.OPTED_IN);

// To set the user's CCPA status to opted out:
Vungle.updateCCPAStatus(Consent.OPTED_OUT);

// To find out what the user's current consent status is:
Consent currentCCPAStatus = Vungle.getCCPAStatus();

Restringir o uso do ID de dispositivo

A partir do Vungle Android SDK v6.4.11, é possível restringir a transmissão do Android ID usado quando o Google Advertising ID não estiver disponível.

// Set true to opt out for Android ID collection by SDK or false (default) to opt in
VungleSettings vungleSettings = new VungleSettings.Builder()
    .setAndroidIdOptOut(true)
    .build();
    
Vungle.init(appId, getApplicationContext(), initCallback, vungleSettings);

Incluir Google Play Services

A inclusão do Google Play Services no projeto é opcional, mas é recomendado. Ele permite que o Vungle ofereça ao usuário final uma experiência mais personalizada em relação aos anúncios. Recomendamos incluir APIs de subsolo e identificador de anúncios, e também o uso do Google Play Services v11.0.1 ou superior.

Para incluir o Google Play Services, consulte o Guia de configuração do Google. Em seu aplicativo, verifique se o dispositivo tem uma versão suficientemente atualizada do Google Play Services. O Vungle SDK pode usar a API de localização e anúncios do Google Play Services.

  • google.android.gms:play-services-basement:16.0.0 (Recomendado)
  • google.android.gms:play-services-ads-identifier:16.0.0 (Necessário para AAID)

Redução da contagem de método

Se adicionar o Vungle SDK para Android v6 ao projeto, estará adicionando aproximadamente 700 métodos principais do Vungle, excluindo quaisquer dependências transitivas. Espera-se que uma integração completa, incluindo bibliotecas de terceiros, adicione menos de 4.000 métodos em média. Considere as seguintes sugestões para reduzir o número total de métodos adicionados ao seu projeto:

  • ProGuard: Você pode ativar o ProGuard para reduzir o código do seu projeto. Ele descarta todas as classes não usadas no momento da compilação para reduzir a contagem de método o máximo possível. Você pode ativá-lo configurando minifyEnabled como true em build.gradle no tipo de compilação adequada e fornecendo as regras que mantêm as classes exigidas pelo projeto.
  • MultiDex: Se você ainda estiver acima de 65 K no total de métodos, habilitar MultiDex pode ser a única solução fornecida pelo Google. Você deve configurar seu projeto para MultiDex apenas uma vez, mas isto terá impacto no build e no tempo de inicialização do aplicativo.

ProGuard

Se usar o ProGuard, adicione as seguintes linhas ao seu arquivo de configuração do ProGuard:

# Vungle
# Vungle
-dontwarn com.vungle.warren.downloader.DownloadRequestMediator$Status
-dontwarn com.vungle.warren.error.VungleError$ErrorCode

# Google
-dontwarn com.google.android.gms.common.GoogleApiAvailabilityLight
-dontwarn com.google.android.gms.ads.identifier.AdvertisingIdClient
-dontwarn com.google.android.gms.ads.identifier.AdvertisingIdClient$Info

# Moat SDK
-keep class com.moat.** { *; }
-dontwarn com.moat.**

# GSON
-keepattributes *Annotation*
-keepattributes Signature
# Prevent R8 from leaving Data object members always null
-keepclassmembers,allowobfuscation class * {
  @com.google.gson.annotations.SerializedName <fields>;
}

# OkHttp + Okio
-dontwarn javax.annotation.**
-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase
-dontwarn org.codehaus.mojo.animal_sniffer.*
-dontwarn okhttp3.internal.platform.ConscryptPlatform

Definir espaço mínimo em disco

A configuração mínima de espaço em disco foi introduzida no Vungle SDK v6.4.11 para determinar os limites de espaço disponível no dispositivo de um usuário antes do Vungle SDK ser inicializado e buscar anúncios. O valor padrão de setMinimumSpaceForInit é 51 MB e de setMinimumSpaceForAd é 50 MB. O tamanho é inserido em bytes.

VungleSettings vungleSettings = new VungleSettings.Builder()
    .setMinimumSpaceForInit(51L * 1024L * 1024L)  // 51 MB
    .setMinimumSpaceForAd(50L * 1024L * 1024L)    // 50 MB
    .build();
  
Vungle.init(appId, getApplicationContext(), initCallback, vungleSettings);

Aceleração por hardware

A aceleração por hardware está ativada por padrão no aplicativo se o nível da API de destino estiver definido como 14 ou superior. Essa opção deve estar ativada para que o SDK exiba corretamente os anúncios Dynamic Template e MREC. Certifique-se de que esta opção esteja definida como 'true' no nível do aplicativo do seu projeto:

<application android:hardwareAccelerated="true" ...>

Recuperar o número de versão do SDK

Para recuperar programaticamente o número da versão do SDK durante a execução (o que pode ser útil na mediação interna), o Vungle fornece a seguinte string:

com.vungle.warren.BuildConfig.VERSION_NAME

Códigos de exceção para depuração

InitCallback, PlayAdCallback e LoadAdCallback terão um código VungleException quando o retorno de callback onError for acionado. Você pode usar o código para depurar ou executar ações para corrigir o problema de forma programática.

if (exception.getExceptionCode() == VungleException.VUNGLE_NOT_INTIALIZED) {
  // Call routine to initialize SDK
}
Códigos de exceção Descrição
CONFIGURATION_ERROR Ocorreu um erro de configuração. Verifique o ID do seu aplicativo e os IDs de referência do posicionamento e tente novamente quando a conectividade da rede estiver disponível.
NO_SERVE O servidor de anúncios não encontrou anúncios para o seu lance atual. Tente novamente mais tarde. Esta exceção é um comportamento esperado.
UNKNOWN_ERROR Ocorreu um erro desconhecido. Essa exceção deve ser rara.
AD_EXPIRED O anúncio no cache expirou e não pode mais ser reproduzido. Carregue outro anúncio.
MISSING_REQUIRED_ARGUMENTS_FOR_INIT Certifique-se de que todos os parâmetros Vungle.init() marcados como não nulos (NonNull) sejam fornecidos, pois são essenciais para o funcionamento do SDK.
APPLICATION_CONTEXT_REQUIRED Forneça o Context do aplicativo para que nosso SDK possa continuar a oferecer suporte a nossa API além do ciclo de vida de Activity.
OPERATION_ONGOING Já existe uma operação em andamento para a ação solicitada. Aguarde até que a operação seja concluída antes de iniciar outra.
VUNGLE_NOT_INTIALIZED O Vungle não foi inicializado ou não se inicializa mais. Chame Vungle.init() para reinicializar.
AD_UNABLE_TO_PLAY Não é possível reproduzir o anúncio.
AD_FAILED_TO_DOWNLOAD Falha no download do anúncio.
PLACEMENT_NOT_FOUND O posicionamento não é válido.
SERVER_RETRY_ERROR O servidor remoto respondeu com HTTP Retry-After, o SDK tentará novamente esta solicitação.

Configurar backup automático para integração JAR

A configuração "permitir backup" está habilitada por padrão para seu aplicativo para a API 23 ou superior. A regra de backup garante que todos os dados do aplicativo tenham backup para a operação adequada do Vungle SDK e do próprio aplicativo. Se não tiver desabilitado a configuração "permitir backup" nem tiver especificado suas próprias regras de backup, você deve fornecer regras XML adicionais para definir quais arquivos em nosso sistema de arquivos SDK devem ser excluídos do backup automático.

Regras de exclusão do Vungle

<full-backup-content>
    <exclude domain="file" path="vungle" />
    <exclude domain="file" path="vungle_cache" />
    <exclude domain="external" path="vungle_cache" />
    <exclude domain="database" path="vungle_db" />
    <exclude domain="sharedpref" path="com.vungle.sdk.xml" />
</full-backup-content>

Integração do Gradle com as regras de backup do desenvolvedor

  1. Adicione regras de exclusão do Vungle SDK ao arquivo .xml existente que tem as próprias regras de exclusão do seu aplicativo.
  2. Configure fullBackupContent para ser substituído no nível do aplicativo e adicione a regra de exclusão do Vungle SDK ao .xml existente.

Integração do JAR com as regras de backup do desenvolvedor

  1. Crie um novo arquivo XML com as regras de exclusão do Vungle.
  2. Coloque o arquivo .xml no diretório res/xml.
  3. Adicione fullBackupContent na tag do aplicativo de AndroidManifest.xml com o nome do arquivo .xml que você criou acima.
    <application
        android:fullBackupContent="@xml/vungle_backup_rule">

Desativar backup automático

Se o backup não for necessário para seu aplicativo, você pode simplesmente desativá-lo na tag do aplicativo:

<application 
    android:allowBackup="false" >

Lista de posicionamentos válidos

Fornecemos um método auxiliar que retorna uma coleção de strings que contém todos os IDs de referência de posicionamento da sessão em curso.

public static Collection getValidPlacements()

Questions?

Need further assistance, feel free to reach out to us, we’re here to help!

Esse artigo foi útil?