विज्ञापन आईडी परिवर्तन: Android 13+ में Google GAID कैसे प्राप्त करें?

opoinstall
2026-08-24
5 min read

GAID क्या है और इसे प्रोग्रामेटिक रूप से कैसे प्राप्त करें? Google विज्ञापन आईडी (GAID) Google Play सेवाओं द्वारा विज्ञापन माप के लिए प्रदान किया जाने वाला एक उपयोगकर्ता-रीसेट करने योग्य सॉफ़्टवेयर पहचानकर्ता है, जिसे मर्ज किए गए ऐप मेनिफेस्ट में आवश्यकतानुसार AD_ID अनुमति शामिल करने के बाद AdvertisingIdClient API का उपयोग करके मुख्य धागे (main thread) से बाहर प्रोग्रामेटिक रूप से पुनर्प्राप्त किया जाता है।

Google विज्ञापन आईडी (GAID), जिसे Android विज्ञापन आईडी (AAID) के रूप में भी जाना जाता है, Android उपकरणों पर विज्ञापन एट्रिब्यूशन, व्यक्तिगत विज्ञापन लक्ष्यीकरण और एनालिटिक्स के लिए Google Play सेवाओं द्वारा प्रदान किया जाने वाला एक उपयोगकर्ता-रीसेट करने योग्य, अद्वितीय स्ट्रिंग है। Android 13 (API स्तर 33) या उच्चतर को लक्षित करने वाले ऐप्स को यह सुनिश्चित करना होगा कि जब वे Google Play सेवाओं की विज्ञापन आईडी तक पहुंचें, तो मर्ज किए गए मेनिफेस्ट में com.google.android.gms.permission.AD_ID अनुमति शामिल हो; अन्यथा, API सभी-शून्य मान लौटाता है।

शब्द परिभाषा
GAID विज्ञापन माप के लिए Google Play सेवाओं द्वारा प्रदान की जाने वाली Google विज्ञापन आईडी।
AdvertisingIdClient विज्ञापन पहचानकर्ता मेटाडेटा को क्वेरी करने के लिए उपयोग किया जाने वाला Google Play सेवाएं API।
AD_ID अनुमति Google Play सेवाओं की विज्ञापन आईडी तक पहुंचते समय API स्तर 33+ को लक्षित करने वाले ऐप्स के लिए आवश्यक Android मेनिफेस्ट अनुमति।
शून्य पहचानकर्ता (Zeroed Identifier) विज्ञापन आईडी अनुपलब्ध या रोके जाने पर लौटाया गया सभी-शून्य सेंटिनल मान (00000000-0000-0000-0000-000000000000)।

GAID क्या है और Google विज्ञापन आईडी कैसे संचालित होती है

विज्ञापन आईडी की तकनीकी संरचना

Google विज्ञापन आईडी (GAID) को Google Play सेवाओं द्वारा एक अपारदर्शी पहचानकर्ता स्ट्रिंग के रूप में लौटाया जाता है जिसे आमतौर पर 128-बिट लोअरकेस हेक्साडेसिमल UUID (जैसे, 38400000-8cf0-11bd-b23e-10b96e4ef00d) के रूप में स्वरूपित किया जाता है। अनुप्रयोगों को इसके स्वरूपण से व्यावसायिक तर्क का अनुमान लगाने के बजाय लौटाई गई स्ट्रिंग को एक अपारदर्शी पहचानकर्ता के रूप में मानना ​​चाहिए।

हार्डवेयर-स्तरीय पहचानकर्ताओं के विपरीत, GAID को स्पष्ट गोपनीयता नियंत्रण के साथ डिज़ाइन किया गया है:

  • उपयोगकर्ता-रीसेट करने योग्य (User-Resettable): उपयोगकर्ता डिवाइस सेटिंग्स के माध्यम से किसी भी समय एक नया यादृच्छिक पहचानकर्ता उत्पन्न कर सकते हैं।
  • उपयोगकर्ता-हटाने योग्य (User-Deletable): Android 12 से शुरू करते हुए, उपयोगकर्ता अपनी विज्ञापन आईडी हटा सकते हैं, जिससे Google Play सेवाओं को सभी ऐप्स से विज्ञापन पहचानकर्ताओं को रोकने का निर्देश मिलता है।
  • प्रति-प्रोफ़ाइल डिवाइस दायरा: विज्ञापन आईडी आम तौर पर एक ही डिवाइस उपयोगकर्ता प्रोफ़ाइल के लिए ऐप्स में उपलब्ध होती हैं, लेकिन एक ही भौतिक डिवाइस पर अलग-अलग Android उपयोगकर्ता या गेस्ट प्रोफाइल को अलग-अलग विज्ञापन पहचानकर्ता प्राप्त होते हैं।

पहचानकर्ता स्थिति के प्रबंधन में Google Play सेवाओं की भूमिका

GAID कोर ओपन-सोर्स Android फ्रेमवर्क का हिस्सा नहीं है। यह मालिकाना Google Play सेवाएं क्लाइंट लाइब्रेरी (com.google.android.gms:play-services-ads-identifier) द्वारा प्रबंधित और गतिशील रूप से परोसी जाने वाली एक एप्लिकेशन-स्तरीय सेवा है।

जब कोई एप्लिकेशन Google Play सेवाओं को आमंत्रित करता है, तो क्लाइंट वर्तमान विज्ञापन पहचानकर्ता और उपयोगकर्ता सीमा-विज्ञापन-ट्रैकिंग प्राथमिकता को पुनः प्राप्त करने के लिए Google Play सेवाओं के साथ ब्लॉक करने वाले संचार करता है।

GAID ने हार्डवेयर पहचानकर्ताओं की जगह क्यों ली

प्रारंभिक Android रिलीज़ में, विज्ञापन नेटवर्क और डेवलपर्स ने गैर-रीसेट करने योग्य हार्डवेयर पहचानकर्ताओं का उपयोग करके रूपांतरण घटनाओं को ट्रैक किया:

  • अंतर्राष्ट्रीय मोबाइल उपकरण पहचान (IMEI): डिवाइस के सेलुलर हार्डवेयर से बंधा हुआ।
  • मीडिया एक्सेस कंट्रोल (MAC) पता: नेटवर्क इंटरफ़ेस हार्डवेयर से बंधा हुआ।
  • ANDROID_ID (SSAID): आधुनिक Android 8.0+ रिलीज़ पर, यह पहचानकर्ता एक सार्वभौमिक क्रॉस-ऐप विज्ञापन कुंजी के रूप में काम करने के बजाय ऐप-हस्ताक्षर कुंजी, उपयोगकर्ता और डिवाइस के प्रत्येक संयोजन के लिए सीमित है।

Google Play पर विज्ञापन उपयोग के मामलों के लिए, डेवलपर्स को किसी अन्य लगातार डिवाइस पहचानकर्ता को प्रतिस्थापित करने के बजाय विज्ञापन आईडी का उपयोग करना चाहिए जब वह उपलब्ध हो।

यह भी देखें: GAID ──> मोबाइल एट्रिब्यूशन आर्किटेक्चर

Android 13 अनुमति आवश्यकताएं: AD_ID मेनिफेस्ट घोषणा

API स्तर 33 प्रवर्तन मॉडल

Android 13 (API स्तर 33) से शुरू करते हुए, Google ने com.google.android.gms.permission.AD_ID अनुमति पेश की:

  • लक्ष्य SDK 33 और उससे ऊपर: Android 13 या उच्चतर को लक्षित करने वाले अनुप्रयोगों को अपने मेनिफेस्ट में AD_ID अनुमति घोषित करनी होगी। यदि अनुमति छोड़ दी जाती है, तो Google Play सेवाएं शून्य की एक स्ट्रिंग (00000000-0000-0000-0000-000000000000) लौटाती हैं।
  • लक्ष्य SDK 32 और उससे नीचे: मेनिफेस्ट में AD_ID अनुमति की आवश्यकता नहीं है। हालांकि, सीमा-विज्ञापन-ट्रैकिंग या हटाने की स्थिति सहित उपयोगकर्ता की विज्ञापन-आईडी गोपनीयता सेटिंग्स के कारण विज्ञापन आईडी अभी भी अनुपलब्ध या शून्य हो सकती है।
  • प्ले स्टोर नीति घोषणाएं: API स्तर 33+ को लक्षित करने वाले अपडेट को सबमिट करते समय, डेवलपर्स को Google Play कंसोल में वर्तमान विज्ञापन आईडी घोषणा को पूरा करना होगा, और सटीक रूप से रिपोर्ट करना होगा कि ऐप पहचानकर्ता का उपयोग करता है या नहीं और कैसे करता है।

Android 13 GAID retrieval and zeroed identifier flow

AndroidManifest.xml और Gradle निर्भरताओं को कॉन्फ़िगर करना

अनुमति घोषित करने के लिए, AndroidManifest.xml के अंदर <uses-permission> टैग शामिल करें। अपने ऐप मॉड्यूल की build.gradle फ़ाइल में, आधिकारिक play-services-ads-identifier निर्भरता जोड़ें।

नीचे दिया गया कॉन्फ़िगरेशन मेनिफेस्ट अनुमति सिंटैक्स और Gradle निर्भरता सेटअप को प्रदर्शित करता है:

```xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapp">

    <!-- गैर-शून्य GAID तक पहुंचने के लिए API 33+ पर आवश्यक -->
    <uses-permission android:name="com.google.android.gms.permission.AD_ID"/>

    <application
        android:allowBackup="true"
        android:label="@string/app_name"
        android:theme="@style/Theme.MyApp">
        <!-- अनुप्रयोग घटक -->
    </application>
</manifest>
// स्थान: app/build.gradle
// नोट: उदाहरण निर्भरता संस्करण दिखाए गए हैं; उत्पादन उपयोग से पहले आधिकारिक रिपॉजिटरी में वर्तमान स्थिर रिलीज़ को सत्यापित करें।

dependencies {
    // आधिकारिक Google Play सेवाएं विज्ञापन पहचानकर्ता लाइब्रेरी
    implementation 'com.google.android.gms:play-services-ads-identifier:18.0.1'

    // मुख्य-धागे से बाहर अतुल्यकालिक निष्पादन के लिए कोटलिन कोबराउटिन
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3'
}

मेनिफेस्ट मर्जिंग को समझना: ट्रांजिटिव SDK इंजेक्शन

Android APK या Android ऐप बंडल (AAB) बनाते समय, Gradle बिल्ड सिस्टम सभी आयातित तृतीय-पक्ष लाइब्रेरीज़ से मेनिफेस्ट को एक एकल अंतिम AndroidManifest.xml में मर्ज करता है।

यदि कोई आयातित विज्ञापन नेटवर्क SDK, एनालिटिक्स टूल, या एट्रिब्यूशन लाइब्रेरी अपने आंतरिक मेनिफेस्ट में com.google.android.gms.permission.AD_ID घोषित करती है, तो वह अनुमति स्वचालित रूप से आपके अंतिम बिल्ड में मर्ज हो जाती है। डेवलपर्स यह ऑडिट करने के लिए कि किस निर्भरता ने अनुमति पेश की है, app/build/outputs/logs/manifest-merger-release-report.txt की जांच कर सकते हैं।

प्रोग्रामेटिक पुनर्प्राप्ति: कोटलिन में AdvertisingIdClient के माध्यम से GAID प्राप्त करना

अनिवार्य ऑफ-मेन-थ्रेड निष्पादन नियम

AdvertisingIdClient.getAdvertisingIdInfo(context) को कॉल करने से Google Play सेवाओं के लिए एक सिंक्रोनस कॉल शुरू होती है। Google मुख्य (UI) धागे पर इस विधि को निष्पादित करने से स्पष्ट रूप से मना करता है।

मुख्य धागे पर getAdvertisingIdInfo() को कॉल करने से तुरंत IllegalStateException फेंकता है:

java.lang.IllegalStateException: Calling this from your main thread can lead to deadlock

एप्लिकेशन ANR (एप्लिकेशन उत्तर नहीं दे रहा है) त्रुटियों और रनटाइम क्रैश को रोकने के लिए, डेवलपर्स को Dispatchers.IO का उपयोग करके एक बैकग्राउंड वर्कर या कोटलिन कोबराउटिन के अंदर निष्कर्षण कॉल भेजना होगा।

AdvertisingIdClient GAID retrieval off the main thread

कोटलिन कोबराउटिन का उपयोग करके बैकग्राउंड वर्कर कार्यों को लागू करना

नीचे दी गई कोटलिन कार्यान्वयन एक थ्रेड-सुरक्षित AdvertisingIdManager प्रदर्शित करती है जो मुख्य धागे से बाहर निष्कर्षण निष्पादित करती है, Google Play सेवाएं उपलब्धता अपवादों को संभालती है, और पहचानकर्ता अखंडता को मान्य करती है:

package com.example.myapp.analytics

import android.content.Context
import android.util.Log
import com.google.android.gms.ads.identifier.AdvertisingIdClient
import com.google.android.gms.common.GooglePlayServicesNotAvailableException
import com.google.android.gms.common.GooglePlayServicesRepairableException
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import java.io.IOException

data class GaidResult(
    val gaid: String?,
    val isLimitAdTrackingEnabled: Boolean,
    val isZeroed: Boolean,
    val isAvailable: Boolean
)

object AdvertisingIdManager {

    private const val TAG = "AdvertisingIdManager"
    private const val ZEROED_GAID = "00000000-0000-0000-0000-000000000000"

    /**
     * मुख्य निष्पादन धागे से बाहर Google विज्ञापन आईडी को प्रोग्रामेटिक रूप से पुनर्प्राप्त करता है।
     * स्वचालित रूप से अपवादों, शून्य अवस्थाओं और उपयोगकर्ता ऑप्ट-आउट को संभालता है।
     */
    suspend fun fetchGaid(context: Context): GaidResult = withContext(Dispatchers.IO) {
        try {
            // IO कोबराउटिन डिस्पैचर पर ब्लॉक करने वाली Google Play सेवाएं IPC को आमंत्रित करता है
            val adInfo: AdvertisingIdClient.Info = AdvertisingIdClient.getAdvertisingIdInfo(context)
            
            val rawId = adInfo.id
            val isLAT = adInfo.isLimitAdTrackingEnabled
            val isZeroed = rawId == null || rawId.equals(ZEROED_GAID, ignoreCase = true)

            if (isZeroed) {
                Log.w(TAG, "विज्ञापन आईडी अनुपलब्ध या शून्य है।")
                GaidResult(
                    gaid = null,
                    isLimitAdTrackingEnabled = isLAT,
                    isZeroed = true,
                    isAvailable = false
                )
            } else {
                Log.d(TAG, "विज्ञापन आईडी सफलतापूर्वक प्राप्त की गई। LAT सक्षम: $isLAT")
                GaidResult(
                    gaid = rawId,
                    isLimitAdTrackingEnabled = isLAT,
                    isZeroed = false,
                    isAvailable = true
                )
            }
        } catch (e: GooglePlayServicesNotAvailableException) {
            Log.e(TAG, "इस डिवाइस पर Google Play सेवाएं स्थापित नहीं हैं या अनुपलब्ध हैं।", e)
            GaidResult(gaid = null, isLimitAdTrackingEnabled = true, isZeroed = false, isAvailable = false)
        } catch (e: GooglePlayServicesRepairableException) {
            Log.w(TAG, "Google Play सेवाओं को अपडेट या उपयोगकर्ता पुनर्प्राप्ति की आवश्यकता है।", e)
            GaidResult(gaid = null, isLimitAdTrackingEnabled = true, isZeroed = false, isAvailable = false)
        } catch (e: IOException) {
            Log.e(TAG, "Google Play सेवाओं से कनेक्ट करने में संचार त्रुटि।", e)
            GaidResult(gaid = null, isLimitAdTrackingEnabled = true, isZeroed = false, isAvailable = false)
        } catch (e: IllegalStateException) {
            Log.e(TAG, "विज्ञापन आईडी पुनर्प्राप्त करते समय अवैध स्थिति।", e)
            GaidResult(gaid = null, isLimitAdTrackingEnabled = true, isZeroed = false, isAvailable = false)
        } catch (e: Exception) {
            Log.e(TAG, "Google विज्ञापन आईडी पुनर्प्राप्त करते समय अप्रत्याशित त्रुटि।", e)
            GaidResult(gaid = null, isLimitAdTrackingEnabled = true, isZeroed = false, isAvailable = false)
        }
    }
}

AdvertisingIdClient.Info को पार्स करना और सीमा विज्ञापन ट्रैकिंग को संभालना

AdvertisingIdClient.getAdvertisingIdInfo() विधि दो मुख्य गुणों वाला एक AdvertisingIdClient.Info ऑब्जेक्ट लौटाती है:

  • getId() (String): विज्ञापन पहचानकर्ता का प्रतिनिधित्व करने वाली अल्फ़ान्यूमेरिक स्ट्रिंग।
  • isLimitAdTrackingEnabled() (Boolean): जब सीमा विज्ञापन ट्रैकिंग सक्षम होती है, तो Google Play नीति विज्ञापन प्रोफ़ाइल बनाने या व्यक्तिगत विज्ञापनों को लक्षित करने के लिए विज्ञापन आईडी डेटा का उपयोग करने से मना करती है। नीति अभी भी प्रासंगिक विज्ञापन, आवृत्ति कैपिंग, रूपांतरण ट्रैकिंग, रिपोर्टिंग, और सुरक्षा/धोखाधड़ी का पता लगाने जैसी गतिविधियों की अनुमति देती है; हालांकि, वर्तमान Google Play सेवाओं पर विज्ञापन आईडी स्वयं शून्य हो जाती है जब यह सेटिंग सक्षम होती है, इसलिए अनुप्रयोगों को यह नहीं मानना ​​चाहिए कि एक उपयोग करने योग्य GAID उपलब्ध रहता है।

शून्य पहचानकर्ताओं और उपयोगकर्ता-आरंभित हटाने की अवस्थाओं को संभालना

00000000-0000-0000-0000-000000000000 स्ट्रिंग: कब और क्यों यह प्रकट होती है

उत्पादन वातावरण में, AdvertisingIdClient.Info.getId() शून्य लौटाता है जब:

  1. उपयोगकर्ता ने विज्ञापन आईडी हटाई: उपयोगकर्ता डिवाइस सेटिंग्स पर गया और अपनी विज्ञापन आईडी हटा दी।
  2. सीमा विज्ञापन ट्रैकिंग सक्षम है: उपयोगकर्ता ने समर्थित OS संस्करणों पर सीमा विज्ञापन ट्रैकिंग सक्षम की।
  3. गायब मेनिफेस्ट अनुमति: एप्लिकेशन Android 13+ (API स्तर 33+) को लक्षित करता है और अपने मर्ज किए गए मेनिफेस्ट में com.google.android.gms.permission.AD_ID घोषित करने में विफल रहता है।

GAID zeroed identifier and privacy state handling

उपयोगकर्ता सेटिंग्स वर्कफ़्लो: विज्ञापन आईडी हटाना

वर्तमान Android रिलीज़ पर उपयोगकर्ता इस पर जाकर अपना पहचानकर्ता हटा सकते हैं:

सेटिंग्स > गोपनीयता > विज्ञापन > विज्ञापन आईडी हटाएं (सटीक लेबल डिवाइस OEM द्वारा भिन्न हो सकते हैं)।

हटाए जाने पर, Google Play सेवाएं अंतlying मान को शुद्ध कर देती हैं। सभी स्थापित ऐप्स पर बाद के API कॉल शून्य स्ट्रिंग लौटाते हैं।

रीसेट और हटाने की अवस्थाओं के लिए Google Play नीति आवश्यकताएं

विज्ञापन आईडी पर Google Play डेवलपर नीतियों के अनुसार, डेवलपर्स को स्पष्ट नियमों के अनुसार उपयोगकर्ता गोपनीयता कार्रवाइयों को संभालना चाहिए:

  • रीसेट आवश्यकताएं: जब कोई उपयोगकर्ता अपनी विज्ञापन आईडी रीसेट करता है, तो डेवलपर्स को स्पष्ट उपयोगकर्ता सहमति के बिना पिछली विज्ञापन आईडी या उससे प्राप्त डेटा से नई विज्ञापन आईडी को नहीं जोड़ना चाहिए।
  • हटाने की आवश्यकताएं: जब कोई उपयोगकर्ता अपनी विज्ञापन आईडी हटाता है, तो डेवलपर्स को उस डिवाइस को उसकी पिछली विज्ञापन आईडी से जुड़े या उससे प्राप्त डेटा से नहीं जोड़ना चाहिए।

डाउनस्ट्रीम अंतर्ग्रहण पाइपलाइनों में पहचानकर्ता इनपुट को सैनिटाइज करना

बैकएंड एट्रिब्यूशन इंजनों को एट्रिब्यूशन डेटाबेस को प्रदूषित करने से शून्य स्ट्रिंग्स को रोकने के लिए सत्यापन फ़िल्टर लागू करने चाहिए:

fun isGaidValid(gaid: String?): Boolean {
    if (gaid.isNullOrBlank()) return false
    val zeroedGaid = "00000000-0000-0000-0000-000000000000"
    return !gaid.equals(zeroedGaid, ignoreCase = true)
}

यदि कोई शून्य पहचानकर्ता का पता चलता है, तो डाउनस्ट्रीम सिस्टम को इसे उपयोग करने योग्य GAID या पहचानकर्ता-मिलान कुंजी के रूप में नहीं मानना ​​चाहिए; किसी भी एट्रिब्यूशन या एनालिटिक्स प्रोसेसिंग को केवल अन्य स्वतंत्र रूप से अनुमत संकेतों पर भरोसा करना चाहिए।

Google Play फैमिलीज नीति और ऐप श्रेणी प्रतिबंध

फैमिलीज ऐप्स में डेटा प्रथाएं

Google Play फैमिलीज कार्यक्रम में भाग लेने वाले या बच्चों को लक्षित करने वाले अनुप्रयोगों के लिए कड़े डेटा सुरक्षा नियमों को लागू करता है:

  • AAID संचारित करने पर प्रतिबंध: विशेष रूप से बच्चों को लक्षित करने वाले अनुप्रयोगों को विज्ञापन आईडी (AAID) संचारित नहीं करना चाहिए। API स्तर 33 या उच्चतर को लक्षित करने वाले ऐप्स के लिए, Google एक सीधी अनुपालन तंत्र के रूप में AD_ID अनुमति को छोड़ने या अक्षम करने की सलाह देता है।
  • मिश्रित-श्रोता हैंडलिंग: बच्चों और बड़े दर्शकों दोनों को लक्षित करने वाले अनुप्रयोगों को बच्चों या अज्ञात आयु के उपयोगकर्ताओं से AAID संचारित नहीं करना चाहिए। डिफ़ॉल्ट रूप से, ऐप्स और SDK को तब तक AAID संचारित करने से बचना चाहिए जब तक कि आयु सत्यापन यह पुष्टि न करի कि उपयोगकर्ता बच्चा नहीं है।

मेनिफेस्ट में tools:node=“remove” का उपयोग करना

यदि आपका एप्लिकेशन बच्चों को लक्षित करता है, लेकिन एक आयातित तृतीय-पक्ष SDK मेनिफेस्ट मर्जिंग के माध्यम से स्वचालित रूप से AD_ID अनुमति को इंजेक्ट करता है, तो अपने मुख्य AndroidManifest.xml में tools:node="remove" विशेषता जोड़ें:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.example.familyapp">

    <!-- ट्रांजिटिव निर्भरता द्वारा इंजेक्ट किए गए AD_ID को स्पष्ट रूप से हटाएं -->
    <uses-permission 
        android:name="com.google.android.gms.permission.AD_ID" 
        tools:node="remove"/>

</manifest>

GAID अनुपलब्ध होने पर उपयोग-मामले-विशिष्ट माप विकल्प

जब GAID शून्य, हटा दिया जाता है, या नीति द्वारा प्रतिबंधित किया जाता है, तो इंजीनियरिंग टीमें अपने कार्यात्मक उद्देश्य के आधार पर उपयोग-मामले-विशिष्ट विकल्पों को तैनात करती हैं:

  • अभियान एट्रिब्यूशन: Play स्टोर URL (referrer=...) के माध्यम से पारित स्टोर-मध्यस्थता अभियान मापदंडों को पुनर्प्राप्त करने के लिए Google Play Install Referrer API का उपयोग करें। GAID हटाने से स्वतंत्र रूप से संचालित होता है।
  • ऑनबोर्डिंग और उपयोगकर्ता इरादा: वेब लैंडिंग पृष्ठों से पारित रेफ़रल टोकन, प्रोमो कोड और डीप लिंक गंतव्यों को पुनर्स्थापित करने के लिए प्रथम-पक्ष प्रासंगिक पैरामीटर रूटिंग का उपयोग करें।
  • डेवलपर-स्कूपेड एनालिटिक्स और धोखाधड़ी: क्रॉस-ऐप विज्ञापन ट्रैकिंग के बिना, एक ही डेवलपर खाते के तहत प्रकाशित ऐप्स में एक साझा पहचानकर्ता उत्पन्न करने के लिए ऐप सेट आईडी (AppSetIdClient) का उपयोग करें।
                    GAID अनुपलब्ध या शून्य
                                 │
         ┌───────────────────────┼───────────────────────┐
         │                       │                       │
         ▼                       ▼                       ▼
   सशुल्क अभियान               ऑनबोर्डिंग और           डेवलपर-स्वामित्व वाला
    एट्रिब्यूशन              रेफ़रल इरादा            एनालिटिक्स और धोखाधड़ी
         │                       │                       │
         ▼                       ▼                       ▼
    Google Play             प्रथम-पक्ष              ऐप सेट आईडी
  Install Referrer          प्रासंगिक                (डेवलपर- या
     (स्टोर URL)             रूटिंग                  ऐप-स्कूपेड)

GAID alternatives for attribution onboarding and analytics

तुलनात्मक मैट्रिक्स: GAID बनाम Install Referrer बनाम App Set ID

आयाम Google विज्ञापन आईडी (GAID) Google Play Install Referrer ऐप सेट आईडी (AppSet)
पहचानकर्ता प्रकार रीसेट करने योग्य क्रॉस-ऐप विज्ञापन UUID स्टोर-मध्यस्थता अभियान पैरामीटर स्ट्रिंग स्थापना और Play सेवाएं संदर्भ के आधार पर डेवलपर- या ऐप-स्कूपेड पहचानकर्ता
मेनिफेस्ट अनुमति com.google.android.gms.permission.AD_ID कोई नहीं कोई नहीं
उपयोगकर्ता हटाने का प्रभाव शून्य की स्ट्रिंग लौटाता है GAID हटाने से स्वतंत्र API पहुंच के बिना 13 महीने के बाद, सेट में अंतिम ऐप अनइंस्टॉल होने पर, या फ़ैक्टरी रीसेट के बाद रीसेट हो सकता है
प्राथमिक उपयोग का मामला क्रॉस-ऐप विज्ञापन एट्रिब्यूशन और रीटारगेटिंग Play स्टोर अभियान प्रदर्शन ट्रैकिंग धोखाधड़ी का पता लगाना और डेवलपर-स्वामित्व वाला एनालिटिक्स
फैमिलीज नीति फिट बच्चों से संचारित नहीं किया जाना चाहिए AAID-विशिष्ट प्रसारण प्रतिबंध के अधीन नहीं; उपयोग को अभी भी लागू फैमिलीज नीतियों का पालन करना चाहिए फैमिलीज ऐप्स में एनालिटिक्स के लिए Google द्वारा प्रोत्साहित

अक्सर पूछे جانے वाले प्रश्न (FAQ)

AdvertisingIdClient को कॉल करने पर IllegalStateException के साथ क्रैश क्यों होता है?
AdvertisingIdClient.getAdvertisingIdInfo(context) Google Play सेवाओं के साथ ब्लॉक करने वाले संचार को निष्पादित करता है। Google मुख्य निष्पादन धागे पर इस विधि को कॉल करने से स्पष्ट रूप से मना करता है। डेवलपर्स को इसे `Dispatchers.IO` का उपयोग करके बैकग्राउंड थ्रेड या कोटलिन कोबराउटिन के भीतर आमंत्रित करना चाहिए।
क्या होता है यदि कोई ऐप Android 13 को लक्षित करता है और AD_ID अनुमति घोषित नहीं करता है?
यदि कोई ऐप API स्तर 33 या उच्चतर को लक्षित करता है और अपने मर्ज किए गए मेनिफेस्ट में `com.google.android.gms.permission.AD_ID` अनुमति घोषित नहीं करता है, तो Google Play सेवाएं API वास्तविक विज्ञापन पहचानकर्ता के बजाय स्वचालित रूप से `00000000-0000-0000-0000-000000000000` लौटाती है।
तृतीय-पक्ष SDK निर्भरता द्वारा इंजेक्ट की गई AD_ID अनुमति को मैं कैसे हटाऊं?
यदि कोई तृतीय-पक्ष लाइब्रेरी मेनिफेस्ट मर्जिंग के माध्यम से स्वचालित रूप से `AD_ID` अनुमति को इंजेक्ट करती है, और आपके ऐप को Google Play फैमिलीज नीतियों का पालन करना चाहिए, तो अपने मुख्य `AndroidManifest.xml` फ़ाइल में `<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>` जोड़ें।

सारांश और निर्णय ढांचा

Google विज्ञापन आईडी Android विज्ञापन और उपयोगकर्ता-एनालिटिक्स उपयोग के मामलों के लिए एक महत्वपूर्ण रीसेट करने योग्य पहचानकर्ता बनी हुई है, लेकिन Android 13+ पर संचालन के लिए मेनिफेस्ट अनुमति नीतियों, पृष्ठभूमि निष्पादन मानकों और शून्य पहचानकर्ता अवस्थाओं के अनुग्रहपूर्ण हैंडलing का पालन करना आवश्यक है। जब GAID अनुपलब्ध हो, तो इंजीनियरिंग टीमों को विशिष्ट उपयोग के मामले के आधार पर एक माप आदिम चुनना चाहिए - उदाहरण के लिए, Play स्टोर अभियान एट्रिब्यूशन के लिए Install Referrer, ऑनबोर्डिंग स्थिति के लिए प्रथम-पक्ष प्रासंगिक पैरामीटर, या डेवलपर-स्वामित्व वाले एनालिटिक्स और धोखाधड़ी-रोकथाम परिदृश्यों के लिए ऐप सेट आईडी।

Android एट्रिब्यूशन और डीप लिंकिंग पाइपलाइनों के लिए कार्यान्वयन पैटर्न का पता लगाने के लिए, OpoInstall दस्तावेज़ीकरण की समीक्षा करें।

संबंधित सामग्रियां

  • अवधारणाएं: विज्ञापन आईडी जीवनचक्र, AD_ID मेनिफेस्ट अनुमति, बैकग्राउंड थ्रेड निष्कर्षण, शून्य पहचानकर्ता हैंडलिंग

  • प्रौद्योगिकियां: Google Play सेवाएं, AdvertisingIdClient API, Google Play Install Referrer API, OpoInstall Android SDK

  • मानक: Google Play डेवलपर नीतियां, Android 13 व्यवहार परिवर्तन, IETF RFC 4122 UUID मानक

  • APIs और श्रेणियां: AdvertisingIdClient, AdvertisingIdClient.Info, AppSetIdClient, OpoInstall Context API

आधिकारिक दस्तावेज़ीकरण

Share this article

Keep Discovering

OpenAI क्या भारत में ChatGPT विज्ञापन ला रहा है? ऐप मार्केटिंग के लिए इसके क्या मायने हैं

OpenAI क्या भारत में ChatGPT विज्ञापन ला रहा है? ऐप मार्केटिंग के लिए इसके क्या मायने हैं

OpenAI ने भारत में फ्री और गो टियर पर ChatGPT विज्ञापन शुरू किए हैं। जानें कि संवादात्मक AI विज्ञापन मोबाइल ऐप मार्केटिंग और डिफर्ड डीप लिंकिंग को कैसे प्रभावित करते हैं।

Google ने पेश किया 4K जेमिनी ओम्नी (Gemini Omni)? वीडियो विज्ञापनों के लिए क्या बदल रहा है

Google ने पेश किया 4K जेमिनी ओम्नी (Gemini Omni)? वीडियो विज्ञापनों के लिए क्या बदल रहा है

Google ने 40-सेकंड के दृश्यों के साथ 4K जेमिनी ओम्नी पेश किया है। जानें कि स्केलेबल एआई वीडियो निर्माण अभियान मापन और मल्टी-टच एट्रिब्यूशन को कैसे प्रभावित करता है।

मोबाइल ऐप एनालिटिक्स उपयोगकर्ता रिटेंशन को कैसे ट्रैक और बेहतर बना सकते हैं

मोबाइल ऐप एनालिटिक्स उपयोगकर्ता रिटेंशन को कैसे ट्रैक और बेहतर बना सकते हैं

जानें कि मोबाइल ऐप एनालिटिक्स उपयोगकर्ताओं को समूहों (कोहॉर्ट्स) में विभाजित करके, सक्रिय-स्थिति के मानदंड निर्धारित करके और अनुभवजन्य रिटेंशन गिरावट का मॉडल तैयार करके उपयोगकर्ता रिटेंशन को कैसे ट्रैक करता है।