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

किसी डिवाइस पर धोखाधड़ी रोकने या आंकड़ों से जुड़े ज़रूरी इस्तेमाल के लिए, आपको अपने संगठन के मालिकाना हक वाले कई ऐप्लिकेशन के इस्तेमाल या उनके ज़रिए होने वाली कार्रवाइयों की जानकारी हासिल करनी पड़ सकती है. 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();
    }
});

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