GAID (Google Advertising ID) та AAID (Android Advertising ID) — це унікальні рекламні ідентифікатори Android-пристроїв, що використовуються для атрибуції встановлень та персоналізації реклами. GAID — офіційна назва для пристроїв із Google Play Services, AAID — універсальний термін для всіх Android-пристроїв, включаючи збірки без Google сервісів. За даними Google Developer Documentation, 2025, отримання GAID вимагає підключення сервісів Google Play. AdvertisingIdClient — основний API для отримання рекламного ідентифікатора на Android.
Головне
GAID (Google Advertising ID) — це унікальний ідентифікатор, що присвоюється кожному Android-пристрою зі встановленими Google Play Services. Він призначений для рекламних цілей: атрибуції встановлень, вимірювання ефективності кампаній та показу персоналізованої реклами. AAID (Android Advertising ID) — більш широкий термін, який охоплює рекламні ідентифікатори на всіх Android-пристроях, включаючи пристрої Huawei із HMS, Amazon Fire та збірки AOSP без Google сервісів.
Основна відмінність GAID від IDFA на iOS полягає в тому, що GAID доступний без явного запиту дозволу, але з Android 14 додатки зобов'язані декларувати використання рекламного ідентифікатора в маніфесті та отримувати згоду користувача відповідно до Політики конфіденційності Google Play. Google не вимагає системного діалогу (як ATT на iOS), але розробник зобов'язаний дотримуватися правил згоди користувача.
За даними Google Play Console Statistics (2025), понад 95% активних Android-пристроїв підтримують GAID через Google Play Services. На пристроях без Google сервісів (китайський ринок, Huawei AppGallery) використовується AAID від відповідних магазинів додатків або альтернативні ідентифікатори, такі як OAID (Open Anonymous ID) для китайських виробників.
Ключова перевага GAID перед IDFA — можливість отримання ідентифікатора без блокувального системного діалогу. Однак Google постійно посилює вимоги: з Android 14 додатки, що targeting API 34 і вище, повинні явно вказувати дозвіл AD_ID у маніфесті.
На Android отримання рекламного ідентифікатора реалізовано через Google Play Services та клас AdvertisingIdClient. На відміну від iOS, де IDFA вимагає явного діалогу ATT, GAID доступний додатку за замовчуванням, якщо користувач не вимкнув персоналізацію реклами в налаштуваннях пристрою.
Клас AdvertisingIdClient із пакета com.google.android.gms.ads.identifier надає два основних методи: getAdvertisingIdInfo (контекст) та start (контекст). Метод повертає об'єкт AdvertisingIdInfo, що містить ідентифікатор (рядок UUID) та прапорець isLimitAdTrackingEnabled, який показує, чи вимкнув користувач персоналізацію реклами.
Виклик AdvertisingIdClient має виконуватися в фоновому потоці, оскільки метод звертається до віддаленого сервісу Google Play. Рекомендується використовувати корутини або AsyncTask для асинхронного отримання ідентифікатора. Якщо Google Play Services недоступні на пристрої, метод викидає виняток GooglePlayServicesNotAvailableException — у цьому випадку розробнику необхідно використати альтернативний метод ідентифікації.
Користувач може скинути GAID у будь-який момент через Налаштування — Google — Реклама — Скинути рекламний ідентифікатор. Після скидання додатки отримують новий ідентифікатор, і зв'язок із попередніми даними втрачається. Користувач також може ввімкнути опцію «Вимкнути персоналізацію реклами», яка змінює прапорець isLimitAdTrackingEnabled на true.
Розробник зобов'язаний поважати прапорець isLimitAdTrackingEnabled: якщо він дорівнює true, додаток не повинен використовувати GAID для персоналізації реклами, але може використовувати його для обмежених цілей, таких як вимірювання конверсій, боротьба з шахрайством та частотне обмеження показів. Порушення цього правила веде до блокування додатка в Google Play.
Починаючи з Android 14 (API 34), Google запровадила нові обмеження на доступ до рекламного ідентифікатора. Дозвіл AD_ID тепер має бути явно вказаний у маніфесті додатка для отримання GAID. Якщо додаток не вказує дозвіл і target API 34+, виклик AdvertisingIdClient повертає нульовий ідентифікатор.
Політика Google Play вимагає, щоб додатки, які використовують GAID, дотримувалися кількох правил: ідентифікатор може використовуватися лише для рекламних та аналітичних цілей; додаток не повинен пов'язувати GAID з персональними даними без явної згоди користувача; GAID не повинен передаватися третім сторонам без зазначення в політиці конфіденційності. З 2025 року Google Play почав автоматично сканувати додатки на відповідність цим правилам за допомогою Play Integrity API.
Особлива увага приділяється додаткам для дітей: згідно з Google Play Families Policy, додатки, націлені на дітей, не можуть використовувати GAID для персоналізації реклами за жодних умов. Розробники зобов'язані використовувати рекламні мережі, сертифіковані для роботи з дитячою аудиторією.
Прапорець isLimitAdTrackingEnabled сигналізує додатку про вибір користувача. Якщо прапорець true, додаток може використовувати GAID лише для базових операцій: атрибуція встановлень, аналітика, антифрод, частотне обмеження. Персоналізація реклами, створення профілів користувачів та ретаргетинг на основі GAID у цьому випадку заборонені.
Google рекомендує не намагатися обійти прапорець isLimitAdTrackingEnabled через альтернативні ідентифікатори (IMEI, MAC-адреса, Android ID). Використання постійних апаратних ідентифікаторів категорично заборонено політикою Google Play і веде до негайного блокування додатка без можливості апеляції.
Отримання GAID на Android вимагає асинхронного виклику AdvertisingIdClient з обробкою можливих винятків. Нижче наведено повний приклад на Kotlin з використанням корутин.
Приклад демонструє отримання рекламного ідентифікатора та перевірку прапорця isLimitAdTrackingEnabled за допомогою корутин і try-catch для обробки помилок 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 недоступні — використовуємо альтернативний ID
null
} catch (e: IOException) {
// Мережева помилка при зверненні до сервісу
null
}
}
}
// Використання в Activity або ViewModel
fun onGaidRequested() {
lifecycleScope.launch {
val info = getAdvertisingInfo(this@MainActivity)
setupAdNetwork(
gaid = info?.gaid,
limitTracking = info?.isLimitAdTrackingEnabled ?: true
)
}
}
Розуміння відмінностей між рекламними ідентифікаторами на різних платформах критично важливе для розробників, які працюють з рекламною атрибуцією на обох ОС. Нижче наведено порівняння ключових аспектів GAID, AAID та IDFA.
Основна відмінність між GAID та IDFA — механізм отримання. IDFA вимагає явної згоди через ATT, без якої повертається нульовий ідентифікатор. GAID доступний без системного діалогу, але з Android 14+ вимагає декларації дозволу AD_ID у маніфесті. Також GAID має більш гнучку систему прапорців: isLimitAdTrackingEnabled не блокує отримання ідентифікатора, а лише сигналізує додатку про необхідність обмежити використання.
За даними Adjust (2025), доступність GAID на Android становить 98% активних пристроїв проти 20–35% доступності IDFA на iOS. Це робить Android більш передбачуваною платформою для рекламної атрибуції, але посилення політик Google поступово скорочує цей розрив.
AAID, на відміну від GAID, не прив'язаний до Google Play Services і може використовуватися на пристроях Huawei (HMS), Amazon Fire OS та китайських виробників. На пристроях Huawei AAID реалізований через Huawei Mobile Services (HMS) з класом AdvertisingIdClient із пакета com.huawei.hms.ads.identifier. Для китайського ринку також поширений OAID (Open Anonymous ID) — стандарт, розроблений альянсом китайських виробників для заміни GAID на пристроях без Google сервісів. Вибір правильного API для отримання ідентифікатора безпосередньо впливає на доступність рекламної атрибуції на різних ринках.
Часто задавані питання
GAID (Google Advertising ID) — рекламний ідентифікатор для пристроїв із Google Play Services. AAID (Android Advertising ID) — загальний термін для рекламних ідентифікаторів Android, включаючи пристрої без Google сервісів (Huawei, Amazon Fire). GAID отримується через Google Play, AAID — через SDK відповідного магазину додатків.
Так, починаючи з Android 14 (API 34) необхідно вказати дозвіл AD_ID у маніфесті. Якщо додаток targetSdkVersion 34+ і не вказує AD_ID, AdvertisingIdClient повертає нульовий ідентифікатор. Дозвіл вказується через тег
Так, користувач може скинути GAID у будь-який час через Налаштування — Google — Реклама — Скинути рекламний ідентифікатор. Після скидання всі додатки отримують новий ідентифікатор, і зв'язок з історією рекламних взаємодій втрачається.
OAID (Open Anonymous ID) — стандарт рекламного ідентифікатора, розроблений альянсом китайських виробників смартфонів (Xiaomi, OPPO, vivo, Huawei). Використовується на пристроях без Google Play Services для китайського ринку. На відміну від GAID, OAID не потребує Google Play і працює через SDK виробника пристрою.
Якщо isLimitAdTrackingEnabled дорівнює true, додаток не може використовувати GAID для персоналізації реклами, створення профілів користувачів і ретаргетингу. Однак ідентифікатор можна використовувати для обмежених цілей: атрибуція встановлень, аналітика, боротьба з шахрайством та частотне обмеження показів.
Підсумки
Ми розробимо мобільний застосунок під ключ
IT Sectr створює застосунки для iOS та Android для стартапів і бізнесу з 2017 року. Ми проконсультуємо вас і запропонуємо найкраще рішення.
Читайте також