Gerenciar configurações de consentimento (apps)

Esta página é destinada a desenvolvedores que usam o SDK do Google Analytics para Firebase no app e querem integrar o modo de consentimento. Se quiser uma introdução ao modo de consentimento, acesse Visão geral do modo de consentimento.

O Google Analytics oferece o modo de consentimento para ajustar o comportamento do seu SDK com base na autorização dos usuários. Confira tipos de consentimento para todos os parâmetros disponíveis.

Antes de começar

Antes de gerenciar o consentimento do usuário, você precisará implementar:

  • SDK do Google Analytics para Firebase
  • Um banner de configurações de consentimento para conseguir o consentimento do usuário

Para configurar o modo de consentimento, você precisará:

  1. Estabelecer o consentimento padrão.
  2. Atualizar o estado de consentimento com base na interação do usuário com suas definições de consentimento.

Por padrão, nenhum valor do modo de consentimento é definido. Para definir o estado de consentimento padrão em seu app:

  1. Abra o arquivo AndroidManifest.xml do app.
  2. Adicione os pares de chave-valor do modo de consentimento. A chave descreve o tipo de consentimento, e o valor indica o estado de consentimento. Os valores podem ser true, o que significa que o consentimento foi dado, ou false, o que indica que o consentimento foi negado. Defina o seguinte:

    • google_analytics_default_allow_analytics_storage
    • google_analytics_default_allow_ad_storage
    • google_analytics_default_allow_ad_user_data
    • google_analytics_default_allow_ad_personalization_signals
  3. Salve as mudanças. Implemente o mecanismo para atualizar os valores de consentimento.

Por exemplo, para dar consentimento a todos os parâmetros por padrão:

<meta-data android:name="google_analytics_default_allow_analytics_storage" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_storage" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_user_data" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_personalization_signals" android:value="true" />

Para atualizar os valores de consentimento após um app ser lançado, chame o método setConsent.

O valor definido pelo método setConsent substitui a configuração padrão e persiste nas execuções do app. O valor permanece no estado até que setConsent seja chamado novamente, mesmo que um usuário feche e reabra o app. O setConsent apenas atualiza os parâmetros especificados.

Se um usuário desistir do consentimento dado para armazenamento do Analytics ou Google Ads, o Google vai excluir todas as propriedades do usuário, incluindo o consentimento para ad personalization. Para preservar a escolha do usuário quanto à personalização de anúncios, restaure o valor anterior para a personalização usando setConsent (Kotlin+KTX | Java) .

O seguinte exemplo mostra o método setConsent atualizando os diferentes valores de consentimento para granted:

Java

// Set consent types.
Map<ConsentType, ConsentStatus> consentMap = new EnumMap<>(ConsentType.class);
consentMap.put(ConsentType.ANALYTICS_STORAGE, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_STORAGE, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_USER_DATA, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_PERSONALIZATION, ConsentStatus.GRANTED);

mFirebaseAnalytics.setConsent(consentMap);

Kotlin

Firebase.analytics.setConsent {
  analyticsStorage(ConsentStatus.GRANTED)
  adStorage(ConsentStatus.GRANTED)
  adUserData(ConsentStatus.GRANTED)
  adPersonalization(ConsentStatus.GRANTED)
}

Para oferecer um ecossistema de publicidade digital seguro, o Google está aumentando as restrições da nossa Política de consentimento de usuários da União Europeia.

Os usuários do modo de consentimento precisam enviar dois parâmetros além do armazenamento do Google Ads e Analytics:

  1. Atualize o AndroidManifest.xml do app para incluir:

    <meta-data android:name="google_analytics_default_allow_ad_user_data" android:value="true" />
    <meta-data android:name="google_analytics_default_allow_ad_personalization_signals" android:value="true" />
    
  2. Atualize as chamadas de consentimento para incluir os parâmetros para os dados do usuário do anúncio e de personalização de anúncio:

    Java

    // Set consent types.
    Map<ConsentType, ConsentStatus> consentMap = new EnumMap<>(ConsentType.class);
    consentMap.put(ConsentType.ANALYTICS_STORAGE, ConsentStatus.GRANTED);
    consentMap.put(ConsentType.AD_STORAGE, ConsentStatus.GRANTED);
    consentMap.put(ConsentType.AD_USER_DATA, ConsentStatus.GRANTED);
    consentMap.put(ConsentType.AD_PERSONALIZATION, ConsentStatus.GRANTED);
    
    mFirebaseAnalytics.setConsent(consentMap);
    

    Kotlin

    Firebase.analytics.setConsent {
      analyticsStorage(ConsentStatus.GRANTED)
      adStorage(ConsentStatus.GRANTED)
      adUserData(ConsentStatus.GRANTED)
      adPersonalization(ConsentStatus.GRANTED)
    }
    

Para verificar se as configurações de consentimento estão funcionando conforme o esperado, confira as mensagens de registro do seu app.

Siga estas etapas:

  1. Ative o registro detalhado no seu dispositivo.
  2. No Logcat do Android Studio, encontre a mensagem de registro que começa com Setting consent. Por exemplo, o armazenamento do Google Ads está habilitado. Confira a seguinte mensagem de registro:

    Setting consent, ... AD_STORAGE=granted