किसी डिवाइस पर, आंकड़ों का विश्लेषण करने या धोखाधड़ी रोकने जैसे इस्तेमाल के मामलों के लिए, आपको अपनी कंपनी के मालिकाना हक वाले ऐप्लिकेशन के सेट में, इस्तेमाल या कार्रवाइयों को कोरिलेट करने की ज़रूरत पड़ सकती है. Google Play की सेवाओं में, निजता के लिहाज़ से एक विकल्प उपलब्ध है. इसे ऐप्लिकेशन सेट आईडी कहा जाता है.
ऐप्लिकेशन सेट आईडी का स्कोप
ऐप्लिकेशन सेट आईडी में, तय किए गए इनमें से कोई एक स्कोप हो सकता है. यह पता करने के लिए कि कोई खास आईडी किस
स्कोप से जुड़ा है, कॉल करें
getScope().
Google Play डेवलपर स्कोप
Google Play Store से इंस्टॉल किए गए ऐप्लिकेशन के लिए, ऐप्लिकेशन सेट आईडी एपीआई, एक ऐसा आईडी दिखाता है जो एक ही Google Play डेवलपर खाते के तहत पब्लिश किए गए ऐप्लिकेशन के सेट के लिए स्कोप किया गया हो.
उदाहरण के लिए, मान लें कि आपने अपने Google Play डेवलपर खाते से दो ऐप्लिकेशन पब्लिश किए हैं और दोनों ऐप्लिकेशन, Google Play Store के ज़रिए एक ही डिवाइस पर इंस्टॉल किए गए हैं. इन ऐप्लिकेशन के लिए, उस डिवाइस पर एक ही ऐप्लिकेशन सेट आईडी होता है. अगर ऐप्लिकेशन पर अलग-अलग कुंजियों से हस्ताक्षर किए गए हैं, तब भी आईडी एक ही होता है.
ऐप्लिकेशन स्कोप
इनमें से किसी भी स्थिति में, ऐप्लिकेशन सेट आईडी SDK टूल, किसी डिवाइस पर कॉल करने वाले ऐप्लिकेशन के लिए एक यूनीक आईडी दिखाता है:
- ऐप्लिकेशन, Google Play Store के अलावा किसी अन्य इंस्टॉलर से इंस्टॉल किया गया हो.
- Google Play की सेवाएं, किसी ऐप्लिकेशन के Google Play डेवलपर खाते का पता न लगा पाएं.
- ऐप्लिकेशन, Google Play की सेवाओं के बिना किसी डिवाइस पर इंस्टॉल किया गया हो.
ऐप्लिकेशन सेट आईडी की कैश की गई वैल्यू पर भरोसा न करें
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();
}
});
UUID फ़ॉर्मैट के बारे में ज़्यादा जानने के लिए, यूनीवर्सली यूनीक आइडेंटिफ़ायर देखें.