डेवलपर के मालिकाना हक वाले ऐप्लिकेशन की पहचान करना

किसी डिवाइस पर, आंकड़ों का विश्लेषण करने या धोखाधड़ी रोकने जैसे इस्तेमाल के मामलों के लिए, आपको अपनी कंपनी के मालिकाना हक वाले ऐप्लिकेशन के सेट में, इस्तेमाल या कार्रवाइयों को कोरिलेट करने की ज़रूरत पड़ सकती है. Google Play services ऐप्लिकेशन सेट आईडी नाम का एक ऐसा विकल्प उपलब्ध कराती है जो निजता के लिहाज़ से सुरक्षित है.

ऐप्लिकेशन सेट आईडी का स्कोप

ऐप्लिकेशन सेट आईडी में, तय किए गए इनमें से कोई एक स्कोप हो सकता है. यह पता करने के लिए कि कोई खास आईडी किस स्कोप से जुड़ा है, कॉल करें getScope().

Google Play डेवलपर स्कोप

Google Play Store से इंस्टॉल किए गए ऐप्लिकेशन के लिए, ऐप्लिकेशन सेट आईडी एपीआई एक ऐसा आईडी दिखाता है जो एक ही Google Play डेवलपर खाते के तहत पब्लिश किए गए ऐप्लिकेशन के सेट के लिए स्कोप किया गया हो.

उदाहरण के लिए, मान लें कि आपने अपने Google Play डेवलपर खाते से दो ऐप्लिकेशन पब्लिश किए हैं और दोनों ऐप्लिकेशन, Google Play Store के ज़रिए एक ही डिवाइस पर इंस्टॉल किए गए हैं. ऐसे में, दोनों ऐप्लिकेशन उस डिवाइस पर एक ही ऐप्लिकेशन सेट आईडी शेयर करते हैं. अगर ऐप्लिकेशन पर अलग-अलग कुंजियों से हस्ताक्षर किए गए हैं, तब भी आईडी एक ही होता है.

ऐप्लिकेशन स्कोप

इनमें से किसी भी शर्त के तहत, ऐप्लिकेशन सेट आईडी SDK टूल, किसी डिवाइस पर कॉल करने वाले ऐप्लिकेशन के लिए एक यूनीक आईडी दिखाता है:

  • ऐप्लिकेशन, Google Play Store के अलावा किसी अन्य इंस्टॉलर से इंस्टॉल किया गया हो.
  • Google Play services, किसी ऐप्लिकेशन के Google Play डेवलपर खाते का पता न लगा पाए.
  • ऐप्लिकेशन, Google Play services के बिना किसी डिवाइस पर इंस्टॉल किया गया हो.

ऐप्लिकेशन सेट आईडी की कैश की गई वैल्यू पर भरोसा न करें

इनमें से किसी भी शर्त के तहत, Google Play Store से इंस्टॉल किए गए ऐप्लिकेशन के किसी सेट के लिए, ऐप्लिकेशन सेट आईडी को रीसेट किया जा सकता है:

  • ऐप्लिकेशन के उन ग्रुप ने 13 महीने से ज़्यादा समय तक ऐप्लिकेशन सेट आईडी एपीआई को ऐक्सेस न किया हो जो एक ही आईडी वैल्यू शेयर करते हैं.
  • ऐप्लिकेशन के किसी सेट से, आखिरी ऐप्लिकेशन को डिवाइस से अनइंस्टॉल कर दिया गया हो.
  • उपयोगकर्ता ने डिवाइस को फ़ैक्ट्री रीसेट किया हो.

ज़रूरी है कि आपका ऐप्लिकेशन, आईडी की वैल्यू पाने के लिए SDK टूल का इस्तेमाल करे.

अपने ऐप्लिकेशन में, ऐप्लिकेशन सेट आईडी SDK टूल जोड़ना

यहां दिए गए स्निपेट में, build.gradle फ़ाइल का एक उदाहरण दिखाया गया है. इसमें, ऐप्लिकेशन सेट आईडी लाइब्रेरी का इस्तेमाल किया गया है:

dependencies {
    implementation 'com.google.android.gms:play-services-appset:16.1.0'
}

यहां दिए गए सैंपल स्निपेट में बताया गया है कि Google Play services में Tasks API का इस्तेमाल करके, ऐप्लिकेशन सेट आईडी को एसिंक्रोनस तरीके से कैसे पाया जा सकता है:

Kotlin

val client = AppSet.getClient(applicationContext) as AppSetIdClient
val task: Task<AppSetIdInfo> = client.appSetIdInfo as Task<AppSetIdInfo>

task.addOnSuccessListener({
    // Determine current scope of app set ID.
    val scope: Int = it.scope

    // Read app set ID value, which uses version 4 of the
    // universally unique identifier (UUID) format.
    val id: String = it.id
})

Java

Context context = getApplicationContext();
AppSetIdClient client = AppSet.getClient(context);
Task<AppSetIdInfo> task = client.getAppSetIdInfo();

task.addOnSuccessListener(new OnSuccessListener<AppSetIdInfo>() {
    @Override
    public void onSuccess(AppSetIdInfo info) {
        // Determine current scope of app set ID.
        int scope = info.getScope();

      // Read app set ID value, which uses version 4 of the
      // universally unique identifier (UUID) format.
        String id = info.getId();
    }
});

UUID फ़ॉर्मैट के बारे में ज़्यादा जानने के लिए, यूनीवर्सली यूनीक आइडेंटिफ़ायर देखें.