GAID (Google Advertising ID) e AAID (Android Advertising ID) são identificadores publicitários únicos de dispositivos Android, usados para atribuição de instalações e personalização de anúncios. GAID é o nome oficial para dispositivos com Google Play Services, AAID é um termo universal para todos os dispositivos Android, incluindo compilações sem serviços Google. De acordo com a Documentação para Desenvolvedores Google, 2025, obter GAID requer os serviços do Google Play. AdvertisingIdClient é a API principal para obter o identificador de publicidade no Android.
Principais conclusões
GAID (Google Advertising ID) é um identificador único atribuído a cada dispositivo Android com Google Play Services instalado. Ele é destinado a fins publicitários: atribuição de instalações, medição de campanhas e exibição de anúncios personalizados. AAID (Android Advertising ID) é um termo mais amplo que abrange identificadores publicitários em todos os dispositivos Android, incluindo dispositivos Huawei com HMS, Amazon Fire e compilações AOSP sem serviços Google.
A principal diferença entre GAID e IDFA no iOS é que o GAID está disponível sem uma solicitação explícita de permissão, mas desde o Android 14, os aplicativos devem declarar o uso do identificador de publicidade no manifesto e obter consentimento do usuário de acordo com a Política de Privacidade do Google Play. O Google não exige um diálogo do sistema (como ATT no iOS), mas o desenvolvedor deve seguir as regras de consentimento do usuário.
De acordo com as Estatísticas do Google Play Console (2025), mais de 95% dos dispositivos Android ativos suportam GAID através do Google Play Services. Em dispositivos sem serviços Google (mercado chinês, Huawei AppGallery), são usados AAID das respectivas lojas de aplicativos ou identificadores alternativos como OAID (Open Anonymous ID) para fabricantes chineses.
A principal vantagem do GAID sobre o IDFA é a capacidade de obter o identificador sem um diálogo de sistema bloqueador. No entanto, o Google está constantemente endurecendo os requisitos: desde o Android 14, aplicativos que visam API 34 e superior devem declarar explicitamente a permissão AD_ID no manifesto.
No Android, a obtenção do identificador de publicidade é implementada através do Google Play Services e da classe AdvertisingIdClient. Ao contrário do iOS, onde o IDFA exige um diálogo ATT explícito, o GAID está disponível para o aplicativo por padrão, a menos que o usuário tenha desativado a personalização de anúncios nas configurações do dispositivo.
A classe AdvertisingIdClient do pacote com.google.android.gms.ads.identifier fornece dois métodos principais: getAdvertisingIdInfo (contexto) e start (contexto). O método retorna um objeto AdvertisingIdInfo contendo o identificador (string UUID) e o sinalizador isLimitAdTrackingEnabled, que indica se o usuário desativou a personalização de anúncios.
A chamada ao AdvertisingIdClient deve ser executada em uma thread em segundo plano, pois o método acessa o serviço remoto do Google Play. Recomenda-se usar corrotinas ou AsyncTask para obtenção assíncrona do identificador. Se o Google Play Services não estiver disponível no dispositivo, o método lança uma exceção GooglePlayServicesNotAvailableException — neste caso, o desenvolvedor deve usar um método de identificação alternativo.
O usuário pode redefinir o GAID a qualquer momento através de Configurações — Google — Anúncios — Redefinir identificador de publicidade. Após a redefinição, os aplicativos recebem um novo identificador e a conexão com os dados anteriores é perdida. O usuário também pode ativar a opção “Desativar personalização de anúncios”, que define o sinalizador isLimitAdTrackingEnabled como true.
O desenvolvedor deve respeitar o sinalizador isLimitAdTrackingEnabled: se for true, o aplicativo não deve usar o GAID para personalização de anúncios, mas pode usá-lo para fins limitados, como medição de conversões, prevenção de fraudes e limitação de frequência. A violação desta regra leva à suspensão do aplicativo no Google Play.
A partir do Android 14 (API 34), o Google introduziu novas restrições ao acesso ao identificador de publicidade. A permissão AD_ID agora deve ser explicitamente declarada no manifesto do aplicativo para obter o GAID. Se o aplicativo não declarar a permissão e visar API 34+, a chamada ao AdvertisingIdClient retorna um identificador nulo.
A Política do Google Play exige que os aplicativos que usam GAID cumpram várias regras: o identificador só pode ser usado para fins publicitários e analíticos; o aplicativo não deve vincular o GAID a dados pessoais sem consentimento explícito do usuário; o GAID não deve ser compartilhado com terceiros sem indicação na política de privacidade. Desde 2025, o Google Play começou a escanear automaticamente os aplicativos para conformidade com essas regras usando a API Play Integrity.
Atenção especial é dada a aplicativos infantis: de acordo com a Política de Famílias do Google Play, aplicativos direcionados a crianças não podem usar GAID para personalização de anúncios em nenhuma circunstância. Os desenvolvedores devem usar redes de anúncios certificadas para públicos infantis.
O sinalizador isLimitAdTrackingEnabled sinaliza a escolha do usuário para o aplicativo. Se o sinalizador for true, o aplicativo só pode usar o GAID para operações básicas: atribuição de instalações, análise, antifraude, limitação de frequência. Personalização de anúncios, criação de perfis de usuário e retargeting baseados em GAID são proibidos neste caso.
O Google recomenda não tentar contornar o sinalizador isLimitAdTrackingEnabled através de identificadores alternativos (IMEI, endereço MAC, Android ID). O uso de identificadores de hardware permanentes é estritamente proibido pela política do Google Play e leva à suspensão imediata do aplicativo sem possibilidade de recurso.
Obter GAID no Android requer uma chamada assíncrona ao AdvertisingIdClient com tratamento de possíveis exceções. Abaixo está um exemplo completo em Kotlin usando corrotinas.
O exemplo demonstra a obtenção do identificador de publicidade e a verificação do sinalizador isLimitAdTrackingEnabled usando corrotinas e try-catch para tratamento de erros do Google Play Services.
import com.google.android.gms.ads.identifier.AdvertisingIdClient
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
data class AdvertisingInfo(
val gaid: String,
val isLimitAdTrackingEnabled: Boolean
)
suspend fun getAdvertisingInfo(context: Context): AdvertisingInfo? {
return withContext(Dispatchers.IO) {
try {
val adInfo = AdvertisingIdClient.getAdvertisingIdInfo(context)
AdvertisingInfo(
gaid = adInfo.id,
isLimitAdTrackingEnabled = adInfo.isLimitAdTrackingEnabled(true)
)
} catch (e: GooglePlayServicesNotAvailableException) {
// Serviços do Google Play indisponíveis — usando ID alternativo
null
} catch (e: IOException) {
// Erro de rede ao acessar o serviço
null
}
}
}
// Uso em Activity ou ViewModel
fun onGaidRequested() {
lifecycleScope.launch {
val info = getAdvertisingInfo(this@MainActivity)
setupAdNetwork(
gaid = info?.gaid,
limitTracking = info?.isLimitAdTrackingEnabled ?: true
)
}
}
Entender as diferenças entre os identificadores publicitários em diferentes plataformas é criticamente importante para desenvolvedores que trabalham com atribuição de anúncios em ambos os SOs. Abaixo está uma comparação dos principais aspectos de GAID, AAID e IDFA.
A principal diferença entre GAID e IDFA é o mecanismo de obtenção. O IDFA requer consentimento explícito através do ATT, sem o qual um identificador nulo é retornado. O GAID está disponível sem um diálogo do sistema, mas desde o Android 14+ requer a declaração da permissão AD_ID no manifesto. O GAID também tem um sistema de sinalizadores mais flexível: isLimitAdTrackingEnabled não bloqueia a obtenção do identificador, apenas sinaliza ao aplicativo para limitar o uso.
De acordo com a Adjust (2025), a disponibilidade do GAID no Android é de 98% dos dispositivos ativos contra 20–35% de disponibilidade do IDFA no iOS. Isso torna o Android uma plataforma mais previsível para atribuição de anúncios, mas o endurecimento das políticas do Google está gradualmente fechando essa lacuna.
AAID, ao contrário do GAID, não está vinculado ao Google Play Services e pode ser usado em dispositivos Huawei (HMS), Amazon Fire OS e fabricantes chineses. Em dispositivos Huawei, o AAID é implementado através do Huawei Mobile Services (HMS) com a classe AdvertisingIdClient do pacote com.huawei.hms.ads.identifier. Para o mercado chinês, também é comum o OAID (Open Anonymous ID) — um padrão desenvolvido pela aliança de fabricantes chineses para substituir o GAID em dispositivos sem serviços Google. A escolha da API correta para obter o identificador afeta diretamente a disponibilidade da atribuição de anúncios em diferentes mercados.
Perguntas Frequentes
GAID (Google Advertising ID) é um identificador de publicidade para dispositivos com Google Play Services. AAID (Android Advertising ID) é um termo geral para identificadores de publicidade Android, incluindo dispositivos sem serviços Google (Huawei, Amazon Fire). O GAID é obtido através do Google Play, o AAID através do SDK da respectiva loja de aplicativos.
Sim, a partir do Android 14 (API 34) é necessário declarar a permissão AD_ID no manifesto. Se o aplicativo tiver targetSdkVersion 34+ e não declarar AD_ID, o AdvertisingIdClient retorna um identificador nulo. A permissão é declarada através da tag
Sim, o usuário pode redefinir o GAID a qualquer momento através de Configurações — Google — Anúncios — Redefinir identificador de publicidade. Após a redefinição, todos os aplicativos recebem um novo identificador e a conexão com o histórico de interações publicitárias é perdida.
OAID (Open Anonymous ID) é um padrão de identificador de publicidade desenvolvido pela aliança de fabricantes chineses de smartphones (Xiaomi, OPPO, vivo, Huawei). É usado em dispositivos sem Google Play Services para o mercado chinês. Ao contrário do GAID, o OAID não requer o Google Play e funciona através do SDK do fabricante do dispositivo.
Se isLimitAdTrackingEnabled for true, o aplicativo não pode usar GAID para personalização de anúncios, criação de perfis de usuário e retargeting. No entanto, o identificador pode ser usado para fins limitados: atribuição de instalações, análise, prevenção de fraudes e limitação de frequência.
Resumo
Vamos desenvolver um aplicativo móvel chave na mão
A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.