GAID (Google Advertising ID) اور AAID (Android Advertising ID) Android آلات کے منفرد اشتہاری شناخت کنندگان ہیں، جو انسٹال ایٹریبیوشن اور اشتہار کی شخصی سازی کے لیے استعمال ہوتے ہیں۔ GAID Google Play Services والے آلات کا سرکاری نام ہے، AAID تمام Android آلات کے لیے ایک عالمگیر اصطلاح ہے، جس میں Google سروسز کے بغیر بلڈ بھی شامل ہیں۔ Google Developer Documentation, 2025 کے مطابق، GAID حاصل کرنے کے لیے Google Play Services کی ضرورت ہے۔ AdvertisingIdClient Android پر اشتہاری شناخت کنندہ حاصل کرنے کے لیے اہم API ہے۔
اہم نکات
GAID (Google Advertising ID) ایک منفرد شناخت کنندہ ہے جو Google Play Services والے ہر Android آلہ کو تفویض کیا جاتا ہے۔ یہ اشتہاری مقاصد کے لیے ہے: انسٹال ایٹریبیوشن، مہم کی پیمائش اور ذاتی نوعیت کے اشتہارات دکھانا۔ AAID (Android Advertising ID) ایک وسیع اصطلاح ہے جو تمام Android آلات پر اشتہاری شناخت کنندگان کا احاطہ کرتی ہے، جس میں HMS والے Huawei آلات، Amazon Fire اور Google سروسز کے بغیر AOSP بلڈ شامل ہیں۔
GAID اور iOS پر IDFA کے درمیان بنیادی فرق یہ ہے کہ GAID واضح اجازت کی درخواست کے بغیر دستیاب ہے، لیکن Android 14 سے، ایپس کو مینی فیسٹ میں اشتہاری شناخت کنندہ کے استعمال کا اعلان کرنا ہوگا اور Google Play رازداری کی پالیسی کے مطابق صارف کی رضامندی لینی ہوگی۔ Google (iOS پر ATT کی طرح) سسٹم ڈائیلاگ کی ضرورت نہیں ہے، لیکن ڈیولپر کو صارف کی رضامندی کے قوانین پر عمل کرنا ہوگا۔
Google Play Console Statistics (2025) کے مطابق، 95% سے زیادہ فعال Android آلات Google Play Services کے ذریعے GAID کی حمایت کرتے ہیں۔ Google سروسز کے بغیر آلات (چینی بازار، Huawei AppGallery) پر، متعلقہ ایپ اسٹورز کا AAID یا چینی مینوفیکچررز کے لیے OAID (Open Anonymous ID) جیسے متبادل شناخت کنندگان استعمال ہوتے ہیں۔
IDFA پر GAID کا اہم فائدہ بلاک کرنے والے سسٹم ڈائیلاگ کے بغیر شناخت کنندہ حاصل کرنے کی صلاحیت ہے۔ تاہم، Google مسلسل تقاضوں کو سخت کر رہا ہے: Android 14 سے، API 34 اور اس سے اوپر کو نشانہ بنانے والی ایپس کو مینی فیسٹ میں واضح طور پر AD_ID اجازت کا اعلان کرنا ہوگا۔
Android پر، اشتہاری شناخت کنندہ حاصل کرنا Google Play Services اور AdvertisingIdClient کلاس کے ذریعے لاگو کیا گیا ہے۔ iOS کے برعکس، جہاں IDFA کو واضح ATT ڈائیلاگ کی ضرورت ہوتی ہے، GAID ڈیفالٹ طور پر ایپ کے لیے دستیاب ہے، جب تک کہ صارف نے ڈیوائس کی ترتیبات میں اشتہار کی شخصی سازی کو غیر فعال نہ کیا ہو۔
com.google.android.gms.ads.identifier پیکیج کی AdvertisingIdClient کلاس دو اہم طریقے فراہم کرتی ہے: getAdvertisingIdInfo (سیاق) اور start (سیاق)。 طریقہ ایک AdvertisingIdInfo آبجیکٹ لوٹاتا ہے جس میں شناخت کنندہ (UUID سٹرنگ) اور isLimitAdTrackingEnabled پرچم ہوتا ہے، جو ظاہر کرتا ہے کہ صارف نے اشتہار کی شخصی سازی کو غیر فعال کیا ہے یا نہیں۔
AdvertisingIdClient کو کال بیک گراؤنڈ تھریڈ پر کی جانی چاہیے، کیونکہ طریقہ ریموٹ Google Play سروس تک رسائی حاصل کرتا ہے۔ غیر متزامن طور پر شناخت کنندہ حاصل کرنے کے لیے coroutines یا AsyncTask استعمال کرنے کی سفارش کی جاتی ہے۔ اگر ڈیوائس پر Google Play Services دستیاب نہیں ہیں، تو طریقہ GooglePlayServicesNotAvailableException استثناء پھینکتا ہے — اس صورت میں، ڈیولپر کو متبادل شناخت کا طریقہ استعمال کرنا چاہیے۔
صارف کسی بھی وقت ترتیبات — Google — اشتہارات — اشتہاری شناخت کنندہ دوبارہ ترتیب دیں کے ذریعے GAID دوبارہ ترتیب دے سکتا ہے۔ دوبارہ ترتیب دینے کے بعد، ایپس کو ایک نیا شناخت کنندہ ملتا ہے اور پچھلے ڈیٹا سے تعلق ختم ہو جاتا ہے۔ صارف «اشتہار کی شخصی سازی غیر فعال کریں» کا اختیار بھی چالو کر سکتا ہے، جو isLimitAdTrackingEnabled پرچم کو true پر سیٹ کرتا ہے۔
ڈیولپر کو isLimitAdTrackingEnabled پرچم کا احترام کرنا چاہیے: اگر یہ true ہے، تو ایپ GAID کو اشتہار کی شخصی سازی کے لیے استعمال نہیں کر سکتی، لیکن اسے محدود مقاصد جیسے تبادلوں کی پیمائش، دھوکہ دہی کی روک تھام اور تعدد کی حد بندی کے لیے استعمال کر سکتی ہے۔ اس قاعدے کی خلاف ورزی Google Play پر ایپ کی معطلی کا باعث بنتی ہے۔
Android 14 (API 34) سے شروع کرتے ہوئے، Google نے اشتہاری شناخت کنندہ تک رسائی پر نئی پابندیاں لگا دی ہیں۔ GAID حاصل کرنے کے لیے اب AD_ID اجازت کو ایپ مینی فیسٹ میں واضح طور پر اعلان کرنا ہوگا۔ اگر ایپ اجازت کا اعلان نہیں کرتی اور API 34+ کو نشانہ بناتی ہے، تو AdvertisingIdClient کال nullptr شناخت کنندہ لوٹاتی ہے۔
Google Play پالیسی کے مطابق GAID استعمال کرنے والی ایپس کو کئی قوانین پر عمل کرنا ہوگا: شناخت کنندہ صرف اشتہاری اور تجزیاتی مقاصد کے لیے استعمال کیا جا سکتا ہے؛ ایپ واضح صارف کی رضامندی کے بغیر GAID کو ذاتی ڈیٹا سے منسلک نہیں کر سکتی؛ GAID کو رازداری کی پالیسی میں ذکر کیے بغیر تیسرے فریق کے ساتھ شیئر نہیں کیا جانا چاہیے۔ 2025 سے، Google Play نے Play Integrity API کا استعمال کرتے ہوئے ان قوانین کی تعمیل کے لیے ایپس کو خود بخود اسکین کرنا شروع کر دیا ہے۔
بچوں کی ایپس پر خصوصی توجہ دی جاتی ہے: Google Play Families Policy کے مطابق، بچوں کے لیے بنائی گئی ایپس کسی بھی صورت میں اشتہار کی شخصی سازی کے لیے GAID استعمال نہیں کر سکتیں۔ ڈیولپرز کو بچوں کے سامعین کے لیے تصدیق شدہ اشتہاری نیٹ ورک استعمال کرنے ہوں گے۔
isLimitAdTrackingEnabled پرچم ایپ کو صارف کے انتخاب کا اشارہ دیتا ہے۔ اگر پرچم true ہے، تو ایپ صرف بنیادی کاموں کے لیے GAID استعمال کر سکتی ہے: انسٹال ایٹریبیوشن، تجزیہ، دھوکہ دہی سے بچاؤ، تعدد کی حد بندی۔ اس صورت میں GAID کی بنیاد پر اشتہار کی شخصی سازی، صارف پروفائلنگ اور دوبارہ ہدف بندی ممنوع ہے۔
Google متبادل شناخت کنندگان (IMEI، MAC پتہ، Android ID) کے ذریعے isLimitAdTrackingEnabled پرچم کو نظرانداز کرنے کی کوشش نہ کرنے کی سفارش کرتا ہے۔ مستقل ہارڈویئر شناخت کنندگان کا استعمال Google Play پالیسی کے ذریعے سختی سے ممنوع ہے اور اپیل کے امکان کے بغیر فوری ایپ معطلی کا باعث بنتا ہے۔
Android پر GAID حاصل کرنے کے لیے ممکنہ استثناء کو سنبھالنے کے ساتھ AdvertisingIdClient کو غیر متزامن کال کی ضرورت ہوتی ہے۔ ذیل میں coroutines استعمال کرتے ہوئے Kotlin میں ایک مکمل مثال دی گئی ہے۔
مثال Google Play Services کی غلطیوں کو سنبھالنے کے لیے coroutines اور try-catch کا استعمال کرتے ہوئے اشتہاری شناخت کنندہ حاصل کرنے اور isLimitAdTrackingEnabled پرچم چیک کرنے کا مظاہرہ کرتی ہے۔
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
)
}
}
دونوں OS پر اشتہاری ایٹریبیوشن کے ساتھ کام کرنے والے ڈیولپرز کے لیے مختلف پلیٹ فارمز پر اشتہاری شناخت کنندگان کے درمیان فرق کو سمجھنا بہت اہم ہے۔ ذیل میں GAID، AAID اور IDFA کے اہم پہلوؤں کا موازنہ دیا گیا ہے۔
GAID اور IDFA کے درمیان بنیادی فرق حاصل کرنے کا طریقہ کار ہے۔ IDFA کو ATT کے ذریعے واضح رضامندی کی ضرورت ہے، جس کے بغیر nullptr شناخت کنندہ لوٹایا جاتا ہے۔ GAID سسٹم ڈائیلاگ کے بغیر دستیاب ہے، لیکن Android 14+ سے مینی فیسٹ میں AD_ID اجازت کے اعلان کی ضرورت ہے۔ GAID میں زیادہ لچکدار پرچم نظام بھی ہے: isLimitAdTrackingEnabled شناخت کنندہ حاصل کرنے کو مسدود نہیں کرتا، صرف ایپ کو استعمال محدود کرنے کا اشارہ دیتا ہے۔
Adjust (2025) کے مطابق، Android پر GAID کی دستیابی 98% فعال آلات ہے جبکہ iOS پر IDFA کی دستیابی 20–35% ہے۔ یہ Android کو اشتہاری ایٹریبیوشن کے لیے زیادہ پیش قیاسی پلیٹ فارم بناتا ہے، لیکن Google پالیسیوں کی سختی آہستہ آہستہ اس فرق کو کم کر رہی ہے۔
AAID، GAID کے برعکس، Google Play Services سے منسلک نہیں ہے اور Huawei (HMS)، Amazon Fire OS اور چینی مینوفیکچررز کے آلات پر استعمال کیا جا سکتا ہے۔ Huawei آلات پر، AAID com.huawei.hms.ads.identifier پیکیج کے AdvertisingIdClient کلاس کے ساتھ Huawei Mobile Services (HMS) کے ذریعے لاگو کیا گیا ہے۔ چینی بازار کے لیے، OAID (Open Anonymous ID) بھی عام ہے — چینی مینوفیکچررز کے اتحاد کے ذریعے Google سروسز کے بغیر آلات پر GAID کو تبدیل کرنے کے لیے تیار کردہ ایک معیار۔ شناخت کنندہ حاصل کرنے کے لیے صحیح 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 nullptr شناخت کنندہ لوٹاتا ہے۔ اجازت
ہاں، صارف کسی بھی وقت ترتیبات — Google — اشتہارات — اشتہاری شناخت کنندہ دوبارہ ترتیب دیں کے ذریعے GAID دوبارہ ترتیب دے سکتا ہے۔ دوبارہ ترتیب دینے کے بعد، تمام ایپس کو ایک نیا شناخت کنندہ ملتا ہے اور اشتہاری تعاملات کی تاریخ سے تعلق ختم ہو جاتا ہے۔
OAID (Open Anonymous ID) — چینی سمارٹ فون مینوفیکچررز (Xiaomi, OPPO, vivo, Huawei) کے اتحاد کے ذریعے تیار کردہ اشتہاری شناخت کنندہ کا معیار۔ یہ چینی بازار کے لیے Google Play Services کے بغیر آلات پر استعمال ہوتا ہے۔ GAID کے برعکس، OAID کو Google Play کی ضرورت نہیں ہے اور یہ ڈیوائس مینوفیکچرر کے SDK کے ذریعے کام کرتا ہے۔
اگر isLimitAdTrackingEnabled true ہے، تو ایپ GAID کو اشتہار کی شخصی سازی، صارف پروفائلنگ اور دوبارہ ہدف بندی کے لیے استعمال نہیں کر سکتی۔ تاہم، شناخت کنندہ محدود مقاصد کے لیے استعمال کیا جا سکتا ہے: انسٹال ایٹریبیوشن، تجزیہ، دھوکہ دہی کی روک تھام اور تعدد کی حد بندی۔
خلاصہ
ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے
IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔
مزید پڑھیں