GAID (Google Advertising ID) och AAID (Android Advertising ID) — är unika reklamidentifierare för Android-enheter, som används för installationsattribuering och personalisering av annonser. GAID är det officiella namnet för enheter med Google Play Services, AAID är den universella termen för alla Android-enheter, inklusive versioner utan Google-tjänster. Enligt Google Developer Documentation, 2025, kräver hämtning av GAID anslutning av Google Play-tjänster. AdvertisingIdClient — det huvudsakliga API:et för att hämta reklamidentifieraren på Android.
Huvudpunkter
GAID (Google Advertising ID) — är en unik identifierare som tilldelas varje Android-enhet med installerade Google Play Services. Den är avsedd för reklamändamål: installationsattribuering, mätning av kampanjeffektivitet och visning av personaliserade annonser. AAID (Android Advertising ID) — en bredare term som omfattar reklamidentifierare på alla Android-enheter, inklusive Huawei-enheter med HMS, Amazon Fire och AOSP-versioner utan Google-tjänster.
Den största skillnaden mellan GAID och IDFA på iOS — GAID är tillgängligt utan uttrycklig begäran om tillstånd, men från Android 14 måste appar deklarera användningen av reklamidentifieraren i manifestet och få användarens samtycke enligt Googles integritetspolicy för Google Play. Google kräver ingen systemdialog (som ATT på iOS), men utvecklaren måste följa reglerna för användarsamtycke.
Enligt Google Play Console Statistics (2025) stöder över 95% av aktiva Android-enheter GAID via Google Play Services. På enheter utan Google-tjänster (kinesiska marknaden, Huawei AppGallery) används AAID från respektive appbutiker eller alternativa identifierare som OAID (Open Anonymous ID) för kinesiska tillverkare.
Främsta fördelen med GAID jämfört med IDFA — möjligheten att hämta identifieraren utan blockerande systemdialog. Google skärper dock ständigt kraven: från Android 14 måste appar som riktar in sig på API 34 och högre uttryckligen ange AD_ID-behörigheten i manifestet.
På Android implementeras hämtning av reklamidentifieraren via Google Play Services och klassen AdvertisingIdClient. Till skillnad från iOS, där IDFA kräver en explicit ATT-dialog, är GAID som standard tillgängligt för appen om användaren inte har inaktiverat personalisering av annonser i enhetsinställningarna.
Klassen AdvertisingIdClient från paketet com.google.android.gms.ads.identifier tillhandahåller två huvudmetoder: getAdvertisingIdInfo (kontext) och start (kontext). Metoden returnerar ett AdvertisingIdInfo-objekt som innehåller identifieraren (UUID-sträng) och flaggan isLimitAdTrackingEnabled, som visar om användaren har inaktiverat personalisering av annonser.
Anropet till AdvertisingIdClient måste utföras i en bakgrundstråd eftersom metoden får åtkomst till en fjärrtjänst från Google Play. För asynkron hämtning av identifieraren rekommenderas att använda coroutines eller AsyncTask. Om Google Play Services inte är tillgängliga på enheten, kastar metoden ett GooglePlayServicesNotAvailableException — i detta fall måste utvecklaren använda en alternativ identifieringsmetod.
Användaren kan när som helst återställa GAID via Inställningar — Google — Annonser — Återställ reklamidentifierare. Efter återställning får appar en ny identifierare och kopplingen till tidigare data förloras. Användaren kan också aktivera alternativet "Inaktivera personalisering av annonser", vilket ändrar flaggan isLimitAdTrackingEnabled till true.
Utvecklaren är skyldig att respektera flaggan isLimitAdTrackingEnabled: om den är true får appen inte använda GAID för personalisering av annonser, men kan använda den för begränsade ändamål som konverteringsmätning, bedrägeribekämpning och frekvensbegränsning av visningar. Brott mot denna regel leder till blockering av appen i Google Play.
Från och med Android 14 (API 34) har Google infört nya begränsningar för åtkomst till reklamidentifieraren. AD_ID-behörigheten måste nu uttryckligen anges i appens manifest för att hämta GAID. Om appen inte anger behörigheten och riktar in sig på API 34+, returnerar anropet till AdvertisingIdClient en noll-identifierare.
Googles policy för Google Play kräver att appar som använder GAID följer flera regler: identifieraren får endast användas för reklam- och analysändamål; appen får inte koppla GAID till personuppgifter utan uttryckligt samtycke från användaren; GAID får inte överföras till tredje part utan att anges i integritetspolicyn. Från 2025 började Google Play automatiskt skanna appar för efterlevnad av dessa regler med hjälp av Play Integrity API.
Särskild uppmärksamhet ägnas åt appar för barn: enligt Googles Families Policy för Google Play får appar som riktar sig till barn under inga omständigheter använda GAID för personalisering av annonser. Utvecklare är skyldiga att använda annonsnätverk som är certifierade för att arbeta med barnpublik.
Flaggan isLimitAdTrackingEnabled signalerar appen om användarens val. Om flaggan är true får appen endast använda GAID för grundläggande operationer: installationsattribuering, analys, anti-bedrägeri, frekvensbegränsning. Personalisering av annonser, skapande av användarprofiler och retargeting baserat på GAID är i detta fall förbjudna.
Google rekommenderar att inte försöka kringgå flaggan isLimitAdTrackingEnabled via alternativa identifierare (IMEI, MAC-adress, Android ID). Användning av permanenta hårdvaruidentifierare är kategoriskt förbjudet enligt Googles policy för Google Play och leder till omedelbar blockering av appen utan möjlighet till överklagande.
Hämtning av GAID på Android kräver ett asynkront anrop till AdvertisingIdClient med hantering av möjliga undantag. Nedan finns ett fullständigt exempel i Kotlin med användning av coroutines.
Exemplet visar hämtning av reklamidentifieraren och kontroll av flaggan isLimitAdTrackingEnabled med hjälp av coroutines och try-catch för hantering av fel i 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) {
// Google Play Services är inte tillgängliga — använder alternativt ID
null
} catch (e: IOException) {
// Nätverksfel vid anslutning till tjänsten
null
}
}
}
// Användning i Activity eller ViewModel
fun onGaidRequested() {
lifecycleScope.launch {
val info = getAdvertisingInfo(this@MainActivity)
setupAdNetwork(
gaid = info?.gaid,
limitTracking = info?.isLimitAdTrackingEnabled ?: true
)
}
}
Att förstå skillnaderna mellan reklamidentifierare på olika plattformar är avgörande för utvecklare som arbetar med reklamattribuering på båda operativsystemen. Nedan finns en jämförelse av de viktigaste aspekterna av GAID, AAID och IDFA.
Den största skillnaden mellan GAID och IDFA — hämtningsmekanismen. IDFA kräver uttryckligt samtycke via ATT, utan vilket en noll-identifierare returneras. GAID är tillgängligt utan systemdialog, men från Android 14+ kräver deklaration av AD_ID-behörigheten i manifestet. GAID har också ett mer flexibelt flaggsystem: isLimitAdTrackingEnabled blockerar inte hämtning av identifieraren, utan signalerar bara appen om behovet av att begränsa användningen.
Enligt Adjust (2025) är tillgängligheten av GAID på Android 98% av aktiva enheter jämfört med 20-35% tillgänglighet av IDFA på iOS. Detta gör Android till en mer förutsägbar plattform för reklamattribuering, men skärpningen av Googles policy minskar gradvis denna klyfta.
AAID är, till skillnad från GAID, inte bundet till Google Play Services och kan användas på Huawei-enheter (HMS), Amazon Fire OS och kinesiska tillverkares enheter. På Huawei-enheter implementeras AAID via Huawei Mobile Services (HMS) med klassen AdvertisingIdClient från paketet com.huawei.hms.ads.identifier. För den kinesiska marknaden är även OAID (Open Anonymous ID) utbrett — en standard utvecklad av alliansen av kinesiska tillverkare för att ersätta GAID på enheter utan Google-tjänster. Rätt val av API för att hämta identifieraren påverkar direkt tillgängligheten av reklamattribuering på olika marknader.
Vanliga frågor
GAID (Google Advertising ID) — reklamidentifierare för enheter med Google Play Services. AAID (Android Advertising ID) — allmän term för Android reklamidentifierare, inklusive enheter utan Google-tjänster (Huawei, Amazon Fire). GAID hämtas via Google Play, AAID — via SDK för respektive appbutik.
Ja, från och med Android 14 (API 34) måste du ange AD_ID-behörigheten i manifestet. Om appen har targetSdkVersion 34+ och inte anger AD_ID, returnerar AdvertisingIdClient en noll-identifierare. Behörigheten anges via taggen
Ja, användaren kan när som helst återställa GAID via Inställningar — Google — Annonser — Återställ reklamidentifierare. Efter återställning får alla appar en ny identifierare och kopplingen till historiken över reklaminteraktioner förloras.
OAID (Open Anonymous ID) — en standard för reklamidentifierare utvecklad av alliansen av kinesiska smartphonetillverkare (Xiaomi, OPPO, vivo, Huawei). Används på enheter utan Google Play Services för den kinesiska marknaden. Till skillnad från GAID kräver OAID inte Google Play och fungerar via enhetstillverkarens SDK.
Om isLimitAdTrackingEnabled är true får appen inte använda GAID för personalisering av annonser, skapande av användarprofiler och retargeting. Identifieraren kan dock användas för begränsade ändamål: installationsattribuering, analys, bedrägeribekämpning och frekvensbegränsning av visningar.
Sammanfattning
Vi utvecklar en mobil applikation nyckelfärdigt
IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.
Läs också