GAID (Google Advertising ID) a AAID (Android Advertising ID) — jsou jedinečné reklamní identifikátory zařízení Android, používané pro atribuci instalací a personalizaci reklam. GAID je oficiální název pro zařízení s Google Play Services, AAID je univerzální termín pro všechna zařízení Android, včetně sestavení bez Google služeb. Podle Google Developer Documentation, 2025, získání GAID vyžaduje připojení služeb Google Play. AdvertisingIdClient — hlavní API pro získání reklamního identifikátoru na Androidu.
Hlavní body
GAID (Google Advertising ID) — je jedinečný identifikátor přiřazený každému zařízení Android s nainstalovanými Google Play Services. Je určen pro reklamní účely: atribuci instalací, měření účinnosti kampaní a zobrazování personalizovaných reklam. AAID (Android Advertising ID) — širší termín, který zahrnuje reklamní identifikátory na všech zařízeních Android, včetně zařízení Huawei s HMS, Amazon Fire a sestavení AOSP bez Google služeb.
Hlavní rozdíl GAID od IDFA na iOS — GAID je k dispozici bez výslovného vyžádání oprávnění, ale od Androidu 14 musí aplikace deklarovat použití reklamního identifikátoru v manifestu a získat souhlas uživatele v souladu se Zásadami ochrany soukromí Google Play. Google nevyžaduje systémový dialog (jako ATT na iOS), ale vývojář musí dodržovat pravidla souhlasu uživatele.
Podle Google Play Console Statistics (2025), více než 95% aktivních zařízení Android podporuje GAID prostřednictvím Google Play Services. Na zařízeních bez Google služeb (čínský trh, Huawei AppGallery) se používá AAID z příslušných obchodů s aplikacemi nebo alternativní identifikátory jako OAID (Open Anonymous ID) pro čínské výrobce.
Klíčová výhoda GAID oproti IDFA — možnost získání identifikátoru bez blokujícího systémového dialogu. Google však neustále zpřísňuje požadavky: od Androidu 14 musí aplikace cílící na API 34 a vyšší výslovně uvést oprávnění AD_ID v manifestu.
Na Androidu je získání reklamního identifikátoru implementováno prostřednictvím Google Play Services a třídy AdvertisingIdClient. Na rozdíl od iOS, kde IDFA vyžaduje explicitní ATT dialog, je GAID aplikaci k dispozici ve výchozím nastavení, pokud uživatel nezakázal personalizaci reklam v nastavení zařízení.
Třída AdvertisingIdClient z balíčku com.google.android.gms.ads.identifier poskytuje dvě hlavní metody: getAdvertisingIdInfo (kontext) a start (kontext). Metoda vrací objekt AdvertisingIdInfo obsahující identifikátor (řetězec UUID) a příznak isLimitAdTrackingEnabled, který ukazuje, zda uživatel zakázal personalizaci reklam.
Volání AdvertisingIdClient musí být provedeno v vlákně na pozadí, protože metoda přistupuje ke vzdálené službě Google Play. Pro asynchronní získání identifikátoru se doporučuje použít corutiny nebo AsyncTask. Pokud Google Play Services nejsou na zařízení k dispozici, metoda vyvolá výjimku GooglePlayServicesNotAvailableException — v tomto případě musí vývojář použít alternativní metodu identifikace.
Uživatel může GAID kdykoli resetovat prostřednictvím Nastavení — Google — Reklamy — Resetovat reklamní identifikátor. Po resetování aplikace obdrží nový identifikátor a spojení s předchozími daty je ztraceno. Uživatel může také zapnout možnost „Zakázat personalizaci reklam", která změní příznak isLimitAdTrackingEnabled na true.
Vývojář je povinen respektovat příznak isLimitAdTrackingEnabled: pokud je true, aplikace nesmí používat GAID pro personalizaci reklam, ale může jej použít pro omezené účely, jako je měření konverzí, boj proti podvodům a omezení frekvence zobrazování. Porušení tohoto pravidla vede k zablokování aplikace v Google Play.
Od Androidu 14 (API 34) zavedla Google nová omezení přístupu k reklamnímu identifikátoru. Oprávnění AD_ID musí být nyní výslovně uvedeno v manifestu aplikace pro získání GAID. Pokud aplikace oprávnění neuvede a cílí na API 34+, volání AdvertisingIdClient vrátí nulový identifikátor.
Zásady Google Play vyžadují, aby aplikace používající GAID dodržovaly několik pravidel: identifikátor lze používat pouze pro reklamní a analytické účely; aplikace nesmí spojovat GAID s osobními údaji bez výslovného souhlasu uživatele; GAID nesmí být předáván třetím stranám bez uvedení v zásadách ochrany soukromí. Od roku 2025 začal Google Play automaticky skenovat aplikace pro dodržování těchto pravidel pomocí Play Integrity API.
Zvláštní pozornost je věnována aplikacím pro děti: podle Google Play Families Policy, aplikace zaměřené na děti nemohou za žádných okolností používat GAID pro personalizaci reklam. Vývojáři jsou povinni používat reklamní sítě certifikované pro práci s dětským publikem.
Příznak isLimitAdTrackingEnabled signalizuje aplikaci volbu uživatele. Pokud je příznak true, aplikace může používat GAID pouze pro základní operace: atribuci instalací, analýzu, anti-fraud, omezení frekvence. Personalizace reklam, vytváření uživatelských profilů a retargeting na základě GAID jsou v tomto případě zakázány.
Google doporučuje nepokoušet se obejít příznak isLimitAdTrackingEnabled prostřednictvím alternativních identifikátorů (IMEI, MAC adresa, Android ID). Používání trvalých hardwarových identifikátorů je kategoricky zakázáno zásadami Google Play a vede k okamžitému zablokování aplikace bez možnosti odvolání.
Získání GAID na Androidu vyžaduje asynchronní volání AdvertisingIdClient s ošetřením možných výjimek. Níže je uveden úplný příklad v Kotlin s použitím corutin.
Příklad demonstruje získání reklamního identifikátoru a kontrolu příznaku isLimitAdTrackingEnabled pomocí corutin a try-catch pro ošetření chyb 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) {
// Služby Google Play nejsou k dispozici — používáme alternativní ID
null
} catch (e: IOException) {
// Chyba sítě při přístupu ke službě
null
}
}
}
// Použití v Activity nebo ViewModel
fun onGaidRequested() {
lifecycleScope.launch {
val info = getAdvertisingInfo(this@MainActivity)
setupAdNetwork(
gaid = info?.gaid,
limitTracking = info?.isLimitAdTrackingEnabled ?: true
)
}
}
Porozumění rozdílům mezi reklamními identifikátory na různých platformách je klíčové pro vývojáře pracující s reklamní atribucí na obou operačních systémech. Níže je uvedeno srovnání klíčových aspektů GAID, AAID a IDFA.
Hlavní rozdíl mezi GAID a IDFA — mechanismus získání. IDFA vyžaduje výslovný souhlas prostřednictvím ATT, bez kterého je vrácen nulový identifikátor. GAID je k dispozici bez systémového dialogu, ale od Androidu 14+ vyžaduje deklaraci oprávnění AD_ID v manifestu. GAID má také flexibilnější systém příznaků: isLimitAdTrackingEnabled neblokuje získání identifikátoru, pouze signalizuje aplikaci potřebu omezit použití.
Podle Adjust (2025) je dostupnost GAID na Androidu 98% aktivních zařízení oproti 20-35% dostupnosti IDFA na iOS. To činí Android předvídatelnější platformou pro reklamní atribuci, ale zpřísňování politik Google postupně tento rozdíl snižuje.
AAID, na rozdíl od GAID, není vázán na Google Play Services a lze jej použít na zařízeních Huawei (HMS), Amazon Fire OS a čínských výrobců. Na zařízeních Huawei je AAID implementován prostřednictvím Huawei Mobile Services (HMS) s třídou AdvertisingIdClient z balíčku com.huawei.hms.ads.identifier. Pro čínský trh je také rozšířen OAID (Open Anonymous ID) — standard vyvinutý aliancí čínských výrobců pro nahrazení GAID na zařízeních bez Google služeb. Správný výběr API pro získání identifikátoru přímo ovlivňuje dostupnost reklamní atribuce na různých trzích.
Často kladené otázky
GAID (Google Advertising ID) — reklamní identifikátor pro zařízení s Google Play Services. AAID (Android Advertising ID) — obecný termín pro reklamní identifikátory Androidu, včetně zařízení bez Google služeb (Huawei, Amazon Fire). GAID se získává přes Google Play, AAID — přes SDK příslušného obchodu s aplikacemi.
Ano, od Androidu 14 (API 34) je nutné uvést oprávnění AD_ID v manifestu. Pokud má aplikace targetSdkVersion 34+ a neuvede AD_ID, AdvertisingIdClient vrátí nulový identifikátor. Oprávnění se uvádí pomocí tagu
Ano, uživatel může GAID kdykoli resetovat prostřednictvím Nastavení — Google — Reklamy — Resetovat reklamní identifikátor. Po resetování všechny aplikace obdrží nový identifikátor a spojení s historií reklamních interakcí je ztraceno.
OAID (Open Anonymous ID) — standard reklamního identifikátoru vyvinutý aliancí čínských výrobců chytrých telefonů (Xiaomi, OPPO, vivo, Huawei). Používá se na zařízeních bez Google Play Services pro čínský trh. Na rozdíl od GAID, OAID nevyžaduje Google Play a funguje prostřednictvím SDK výrobce zařízení.
Pokud je isLimitAdTrackingEnabled true, aplikace nemůže používat GAID pro personalizaci reklam, vytváření uživatelských profilů a retargeting. Identifikátor však lze použít pro omezené účely: atribuci instalací, analýzu, boj proti podvodům a omezení frekvence zobrazování.
Shrnutí
Vyvineme mobilní aplikaci na klíč
IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.
Přečtěte si také