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

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

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

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