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

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