इस दस्तावेज़ में, इस्तेमाल के उदाहरण के आधार पर अपने ऐप्लिकेशन के लिए सही आइडेंटिफ़ायर चुनने के बारे में बताया गया है.
Android की अनुमतियों के बारे में सामान्य जानकारी पाने के लिए, अनुमतियों की खास जानकारी देखें. Android की अनुमतियों के साथ काम करने के सबसे सही तरीकों के बारे में जानने के लिए, ऐप्लिकेशन की अनुमतियों के सबसे सही तरीके देखें.
Android आइडेंटिफ़ायर के साथ काम करने के सबसे सही तरीके
अपने उपयोगकर्ताओं की निजता की सुरक्षा के लिए, सबसे ज़्यादा पाबंदी वाले आइडेंटिफ़ायर का इस्तेमाल करें आपके ऐप्लिकेशन के इस्तेमाल के उदाहरण को पूरा करता है. खास तौर पर, यहां दिए गए सबसे सही तरीके अपनाएं:
- जब भी मुमकिन हो, ऐसे आइडेंटिफ़ायर चुनें जिन्हें उपयोगकर्ता रीसेट कर सकते हैं. आपका ऐप्लिकेशन ये काम कर सकता है अपने ज़्यादातर उपयोग के उदाहरणों को तब भी हासिल कर सकता है, जब यह ऐसे हार्डवेयर आईडी जिन्हें रीसेट नहीं किया जा सकता.
हार्डवेयर आइडेंटिफ़ायर का इस्तेमाल करने से बचें. ज़्यादातर मामलों में, ज़रूरी फ़ंक्शन को सीमित किए बिना, इंटरनेशनल मोबाइल डिवाइस आइडेंटिटी (आईएमईआई) जैसे हार्डवेयर आइडेंटिफ़ायर का इस्तेमाल करने से बचा जा सकता है.
Android 10 (एपीआई लेवल 29) में, ऐसे आइडेंटिफ़ायर के लिए पाबंदियां जोड़ी गई हैं जिन्हें रीसेट नहीं किया जा सकता. इनमें IMEI और सीरियल नंबर, दोनों शामिल हैं. आपका ऐप्लिकेशन, डिवाइस या प्रोफ़ाइल का मालिक ऐप्लिकेशन होना चाहिए. इसके अलावा, आपके पास कैरियर से जुड़ी खास अनुमतियां होनी चाहिए या आपके पास इन आइडेंटिफ़ायर को ऐक्सेस करने के लिए,
READ_PRIVILEGED_PHONE_STATE
की खास अनुमति होनी चाहिए.विज्ञापन आईडी का इस्तेमाल सिर्फ़ उपयोगकर्ता की प्रोफ़ाइल बनाने या विज्ञापन के इस्तेमाल के उदाहरणों के लिए करें. विज्ञापन आईडी का इस्तेमाल करते समय, विज्ञापन ट्रैकिंग के लिए उपयोगकर्ताओं के चुने गए विकल्पों का हमेशा सम्मान करें. अगर आपने आपको विज्ञापन के लिए आइडेंटिफ़ायर को व्यक्तिगत पहचान से जुड़ी जानकारी से कनेक्ट करना होगा नहीं करना चाहते हैं, तो ऐसा केवल उपयोगकर्ता.
विज्ञापन आईडी को रीसेट न करें.
पेमेंट धोखाधड़ी को रोकने और टेलीफ़ोन सेवा के अलावा, अन्य सभी इस्तेमाल के उदाहरणों के लिए, जब भी हो सके, Firebase इंस्टॉलेशन आईडी (एफ़आईडी) या निजी तौर पर सेव किए गए GUID का इस्तेमाल करें. विज्ञापनों के अलावा, ज़्यादातर मामलों में एफ़आईडी या जीयूआईडी का इस्तेमाल करना काफ़ी है.
निजता की सुरक्षा को कम से कम करने के लिए, उन एपीआई का इस्तेमाल करें जो आपके इस्तेमाल के उदाहरण के हिसाब से सही हों जोखिम. ज़्यादा अहमियत वाले कॉन्टेंट की सुरक्षा के लिए, DRM API का इस्तेमाल करें. साथ ही, गलत इस्तेमाल से सुरक्षा के लिए, Play Integrity API का इस्तेमाल करें. Play Integrity API, यह पता लगाने का सबसे आसान तरीका है कि कोई डिवाइस असली और निजता से जुड़े जोखिम के बिना.
इस गाइड के बाकी सेक्शन में, Android ऐप्लिकेशन डेवलप करना.
विज्ञापन आईडी के साथ काम करना
विज्ञापन आईडी ऐसा आइडेंटिफ़ायर है जिसे उपयोगकर्ता अपने हिसाब से सेट कर सकता है. साथ ही, यह विज्ञापनों के लिए सही है इस्तेमाल के उदाहरण. हालांकि, इस आईडी का इस्तेमाल करते समय कुछ अहम बातों का ध्यान रखें:
विज्ञापन आईडी रीसेट करने के उपयोगकर्ता के इरादे का हमेशा सम्मान करें. लिंक करने के लिए किसी अन्य आइडेंटिफ़ायर या फ़िंगरप्रिंट का इस्तेमाल करके, उपयोगकर्ता के रीसेट होने की जानकारी को ब्रिज न करें एक साथ आने वाले सभी विज्ञापन आईडी उपयोगकर्ता की सहमति होती है. Google Play के डेवलपर के लिए कॉन्टेंट से जुड़ी नीति में ये बातें कही गई हैं:
"...अगर रीसेट किया जाता है, तो नया विज्ञापन आइडेंटिफ़ायर विज्ञापन के पिछले आइडेंटिफ़ायर या किसी पिछले विज्ञापन से मिला डेटा आइडेंटिफ़ायर के लिए, इस्तेमाल करने वाले व्यक्ति की साफ़ तौर पर सहमति लिए बिना."
लोगों के हिसाब से दिखाए जाने वाले विज्ञापनों से जुड़े फ़्लैग का हमेशा ध्यान रखें. विज्ञापन आईडी हैं
कॉन्फ़िगर किया जा सकता है, जिसमें उपयोगकर्ता आपकी
आईडी. हमेशा AdvertisingIdClient.Info.isLimitAdTrackingEnabled()
का इस्तेमाल करें
यह सुनिश्चित करने का तरीका कि आप अपने उपयोगकर्ताओं के इच्छाएं. Google
Play डेवलपर का कॉन्टेंट
नीति बताती है कि
फ़ॉलो किया जा रहा है:
"...आपको उपयोगकर्ता के 'रुचि आधारित विज्ञापन से ऑप्ट आउट करना' का पालन करना होगा या 'दिलचस्पी के मुताबिक विज्ञापन दिखाने की सुविधा से ऑप्ट आउट करें' सेटिंग. अगर किसी उपयोगकर्ता ने इस सेटिंग को चालू किया है, विज्ञापन के लिए आइडेंटिफ़ायर का इस्तेमाल इन कामों के लिए नहीं किया जा सकता विज्ञापन के मकसद से या लोगों के हिसाब से विज्ञापन दिखाकर उन्हें टारगेट करने के लिए. जिन गतिविधियों की अनुमति दी गई है उनमें प्रासंगिक विज्ञापन, फ़्रीक्वेंसी कैपिंग, कन्वर्ज़न ट्रैकिंग, रिपोर्टिंग, और सुरक्षा से जुड़े खतरे और धोखाधड़ी की पहचान करना शामिल है."
विज्ञापन आईडी के इस्तेमाल पर लागू होने वाले SDK टूल से जुड़ी निजता या सुरक्षा नीतियों का ध्यान रखें.
उदाहरण के लिए, यदि आप true
को
enableAdvertisingIdCollection()
तरीके का इस्तेमाल कर रहे हैं, तो पक्का करें कि आपने सभी
लागू होने वाला Analytics SDK
नीतियों का पालन करना चाहिए.
यह भी ध्यान रखें कि Google Play डेवलपर कॉन्टेंट की नीति के मुताबिक, विज्ञापन आइडेंटिफ़ायर को "व्यक्तिगत पहचान से जुड़ी जानकारी से नहीं जोड़ा जाना चाहिए. इसके अलावा, यह किसी डिवाइस आइडेंटिफ़ायर (उदाहरण के लिए: SSAID, MAC पता, IMEI वगैरह) से भी नहीं जुड़ा होना चाहिए."
उदाहरण के लिए, मान लें कि आपको डेटाबेस को पॉप्युलेट करने के लिए जानकारी इकट्ठा करनी है टेबल में ये कॉलम मौजूद हैं:
TABLE-01 | |||
timestamp |
ad_id |
account_id |
clickid |
TABLE-02 | |||
account_id |
name |
dob |
country |
इस उदाहरण में, दोनों टेबल में account_id
कॉलम के ज़रिए ad_id
कॉलम को व्यक्तिगत पहचान से जुड़ी जानकारी से जोड़ा जा सकता है. अगर आपको अपने उपयोगकर्ताओं से साफ़ तौर पर अनुमति नहीं मिली है, तो यह Google Play डेवलपर कॉन्टेंट नीति का उल्लंघन होगा.
ध्यान रखें कि विज्ञापन देने वाले का आईडी और व्यक्तिगत पहचान से जुड़ी जानकारी के बीच के लिंक हमेशा इतने साफ़ नहीं होते. "क्वसी-आइडेंटिफ़ायर" हो सकते हैं जो व्यक्तिगत पहचान से जुड़ी जानकारी और विज्ञापन आईडी की कुंजी वाली टेबल, जिससे समस्याएं भी हो सकती हैं. उदाहरण के लिए, मान लीजिए कि हम अपने संगठन में TABLE-01 और TABLE-02 में ये बदलाव किए गए हैं:
टेबल-01 | ||||
timestamp |
ad_id |
clickid |
dev_model |
|
टेबल-02 | ||||
timestamp |
demo |
account_id |
dev_model |
name |
इस मामले में, अगर इवेंट कभी-कभार ही होने वाले हैं, तो 'शामिल हों' बटन पर क्लिक किया जा सकता है का उपयोग करके TABLE-02 में मौजूद विज्ञापनदाता आईडी TABLE-01 और PII के बीच इवेंट का टाइमस्टैंप और डिवाइस मॉडल.
हालांकि, अक्सर यह गारंटी देना मुश्किल होता है कि ऐसा कोई क्वासी-आइडेंटिफ़ायर मौजूद नहीं है डेटासेट में, आप ऐसे जोखिमों को रोक सकते हैं जो सबसे ज़्यादा दिखते हैं. इसके लिए, यूनीक डेटा की ज़रूरत नहीं होती. पिछले उदाहरण में, इसका मतलब टाइमस्टैंप की सटीक जानकारी को कम करना होगा, ताकि हर टाइमस्टैंप के लिए एक ही मॉडल वाले कई डिवाइस दिखें.
अन्य समाधानों में ये शामिल हैं:
पीआईआई को विज्ञापन आईडी से साफ़ तौर पर लिंक करने वाली टेबल न डिज़ाइन करना. ऊपर दिए गए पहले उदाहरण में, इसका मतलब TABLE-01 में
account_id
कॉलम को शामिल न करना होगा.ऐसे उपयोगकर्ताओं या भूमिकाओं के लिए ऐक्सेस कंट्रोल सूचियों को अलग-अलग करना और उनकी निगरानी करना जिनके पास विज्ञापन आईडी की कुंजी वाले डेटा और पीआईआई, दोनों का ऐक्सेस है. एक साथ दोनों सोर्स को ऐक्सेस करने की सुविधा को ज़ोर से कंट्रोल और ऑडिट करके (उदाहरण के लिए, टेबल के बीच जॉइन करके), विज्ञापन आईडी और व्यक्तिगत पहचान से जुड़ी जानकारी के बीच असोसिएशन का जोखिम कम किया जा सकता है. आम तौर पर, ऐक्सेस कंट्रोल करने का मतलब है, ये काम करना:
- विज्ञापन देने वाले व्यक्ति या कंपनी के आईडी से जुड़े डेटा और व्यक्तिगत पहचान से जुड़ी जानकारी के लिए, ऐक्सेस कंट्रोल लिस्ट (एसीएल) को अलग-अलग रखें. इससे, दोनों एसीएल में शामिल लोगों या भूमिकाओं की संख्या कम हो जाएगी.
- किसी भी अपवाद का पता लगाने और उसे मैनेज करने के लिए, ऐक्सेस को लॉग और ऑडिट करने की प्रोसेस लागू करें इस नियम का पालन करें.
विज्ञापन आईडी के साथ ज़िम्मेदारी से काम करने के बारे में ज़्यादा जानकारी के लिए, यहां देखें
AdvertisingIdClient
एपीआई का रेफ़रंस.
एफ़आईडी और जीयूआईडी के साथ काम करना
किसी आईपी पते पर चल रहे ऐप्लिकेशन इंस्टेंस की पहचान करने का सबसे आसान समाधान डिवाइस में Firebase इंस्टॉलेशन आईडी (एफ़आईडी) का इस्तेमाल किया जाना चाहिए. साथ ही, हमारा सुझाव है कि आप समाधान. सिर्फ़ वह ऐप्लिकेशन इंस्टेंस इस आइडेंटिफ़ायर को ऐक्सेस कर सकता है जिसके लिए इसे प्रोविज़न किया गया था. साथ ही, इसे आसानी से रीसेट किया जा सकता है, क्योंकि यह सिर्फ़ तब तक बना रहता है, जब तक ऐप्लिकेशन इंस्टॉल रहता है.
इसलिए, रीसेट नहीं किए जा सकने वाले और डिवाइस के स्कोप वाले हार्डवेयर आईडी की तुलना में, एफ़आईडी बेहतर निजता प्रॉपर्टी देते हैं. ज़्यादा जानकारी के लिए, firebase.installations
एपीआई रेफ़रंस देखें.
जिन मामलों में एफ़आईडी का इस्तेमाल करना मुमकिन नहीं है उनमें ऐप्लिकेशन इंस्टेंस की खास पहचान करने के लिए, कस्टम ग्लोबल यूनीक आईडी (जीयूआईडी) का भी इस्तेमाल किया जा सकता है. ऐसा करने का सबसे आसान तरीका, यहां दिए गए कोड का इस्तेमाल करके अपना GUID जनरेट करना है:
Kotlin
var uniqueID = UUID.randomUUID().toString()
Java
String uniqueID = UUID.randomUUID().toString();
आइडेंटिफ़ायर दुनिया भर में यूनीक होता है. इसलिए, इसका इस्तेमाल किसी खास ऐप्लिकेशन इंस्टेंस की पहचान करने के लिए किया जा सकता है. सभी ऐप्लिकेशन में आइडेंटिफ़ायर को लिंक करने से जुड़ी समस्याओं से बचने के लिए, बाहरी (शेयर किए गए) स्टोरेज के बजाय, इंटरनल स्टोरेज में GUID सेव करें. ज़्यादा के लिए तो डेटा और फ़ाइल स्टोरेज खास जानकारी पेज पर जाएं.
MAC पतों के साथ काम न करें
एमएसी पते दुनिया भर में यूनीक होते हैं. इन्हें उपयोगकर्ता रीसेट नहीं कर सकता. साथ ही, ये फ़ैक्ट्री रीसेट के बाद भी काम करते हैं. इन वजहों से, उपयोगकर्ता की निजता को सुरक्षित रखने के लिए, Android 6 और तो MAC पतों का ऐक्सेस सिस्टम ऐप्लिकेशन तक सीमित है. तीसरे पक्ष के ऐप्लिकेशन, इनका ऐक्सेस नहीं कर सकते.
Android 11 में MAC पते की उपलब्धता में बदलाव
Android 11 और उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन पर, पासपॉइंट के लिए एमएसी रैंडमाइज़ेशन नेटवर्क, हर पासपॉइंट प्रोफ़ाइल के हिसाब से होते हैं. इसलिए, इनके आधार पर एक यूनीक MAC पता जनरेट किया जाता है ये फ़ील्ड शामिल होते हैं:
- सभी शर्तें पूरी करने वाला डोमेन नेम (एफ़क्यूडीएन)
- रीएल्म
- Passpoint प्रोफ़ाइल में इस्तेमाल किए गए क्रेडेंशियल के आधार पर क्रेडेंशियल:
- उपयोगकर्ता क्रेडेंशियल: उपयोगकर्ता का नाम
- सर्टिफ़िकेट क्रेडेंशियल: सर्टिफ़िकेट और सर्टिफ़िकेट का टाइप
- सिम क्रेडेंशियल: ईएपी टाइप और IMSI
इसके अलावा, जिन ऐप्लिकेशन के पास विशेष सुविधाएं नहीं हैं वे डिवाइस का मैक पता ऐक्सेस नहीं कर सकते. सिर्फ़ आईपी पते वाले नेटवर्क इंटरफ़ेस दिखते हैं. इससे getifaddrs()
और NetworkInterface.getHardwareAddress()
के तरीकों पर असर पड़ता है. साथ ही, RTM_GETLINK
नेटलिंक मैसेज भेजने पर भी असर पड़ता है.
इस बदलाव से ऐप्लिकेशन पर असर डालने वाले तरीकों की सूची नीचे दी गई है:
NetworkInterface.getHardwareAddress()
हर इंटरफ़ेस के लिए null दिखाता है.- ऐप्लिकेशन
NETLINK_ROUTE
सॉकेट परbind()
फ़ंक्शन का इस्तेमाल नहीं कर सकते. ip
कमांड, इंटरफ़ेस के बारे में जानकारी नहीं दिखाता.- ऐप्लिकेशन,
RTM_GETLINK
मैसेज नहीं भेज सकते.
ध्यान दें कि ज़्यादातर डेवलपर को NetworkInterface
, getifaddrs()
या नेटलिंक सॉकेट जैसे कम लेवल वाले एपीआई के बजाय, ConnectivityManager
के हाई लेवल वाले एपीआई का इस्तेमाल करना चाहिए. उदाहरण के लिए, कोई ऐसा ऐप्लिकेशन जिसे
मौजूदा रास्तों की जानकारी ConnectivityManager.registerNetworkCallback()
का इस्तेमाल करके नेटवर्क में हुए बदलावों को सुनकर यह जानकारी पाई जा सकती है
और नेटवर्क से जुड़े नेटवर्क को
LinkProperties.getRoutes()
.
आइडेंटिफ़ायर की विशेषताएं
Android OS, अलग-अलग व्यवहार की विशेषताओं वाले कई आईडी ऑफ़र करता है. आपको किस आईडी का इस्तेमाल करना चाहिए, यह इस बात पर निर्भर करता है कि नीचे दी गई विशेषताएं, आपके इस्तेमाल के उदाहरण के साथ कैसे काम करती हैं. इन विशेषताओं में निजता से जुड़ी सेटिंग भी शामिल हैं. इसलिए, यह समझना ज़रूरी है कि ये विशेषताएं एक-दूसरे से जुड़ी हैं.
दायरा
आइडेंटिफ़ायर के दायरे से पता चलता है कि कौनसे सिस्टम आइडेंटिफ़ायर को ऐक्सेस कर सकते हैं. Android पर आइडेंटिफ़ायर का स्कोप आम तौर पर तीन तरह के होते हैं:
- एक ऐप्लिकेशन: यह आईडी, ऐप्लिकेशन के अंदर होता है और दूसरे ऐप्लिकेशन इसे ऐक्सेस नहीं कर सकते.
- ऐप्लिकेशन का ग्रुप: इस आईडी को, मिलते-जुलते ऐप्लिकेशन के पहले से तय किए गए ग्रुप से ऐक्सेस किया जा सकता है.
- डिवाइस: इस आईडी को डिवाइस पर इंस्टॉल किए गए सभी ऐप्लिकेशन ऐक्सेस कर सकते हैं.
किसी आइडेंटिफ़ायर को दिया गया दायरा जितना बड़ा होगा, उसके होने का जोखिम उतना ही ज़्यादा होगा का इस्तेमाल ट्रैकिंग के लिए किया जाता है. इसके उलट, अगर किसी आइडेंटिफ़ायर को सिर्फ़ एक ऐप्लिकेशन इंस्टेंस ऐक्सेस कर सकता है, तो इसका इस्तेमाल अलग-अलग ऐप्लिकेशन में होने वाले सभी लेन-देन में किसी डिवाइस को ट्रैक करने के लिए नहीं किया जा सकता.
रीसेट करने की सुविधा और डेटा सेव रखने की सुविधा
रीसेट करने की सुविधा और मौजूद रहने की अवधि से, आइडेंटिफ़ायर के लाइफ़साइकल के बारे में पता चलता है. साथ ही, यह भी पता चलता है कि इसे कैसे रीसेट किया जा सकता है. रीसेट करने के सामान्य ट्रिगर में ये शामिल हैं: ऐप्लिकेशन में रीसेट करना, सिस्टम सेटिंग के ज़रिए रीसेट करना, लॉन्च होने पर रीसेट करना, और इंस्टॉल होने पर रीसेट करना. Android आइडेंटिफ़ायर के काम करने की अवधि अलग-अलग हो सकती है. हालांकि, यह अवधि आम तौर पर इस बात पर निर्भर करती है कि आईडी को कैसे रीसेट किया जाता है:
- सिर्फ़ सेशन के लिए: जब भी उपयोगकर्ता ऐप्लिकेशन को रीस्टार्ट करता है, तब एक नया आईडी इस्तेमाल किया जाता है.
- इंस्टॉल-रीसेट: उपयोगकर्ता के अनइंस्टॉल और फिर से इंस्टॉल करने पर, हर बार एक नए आईडी का इस्तेमाल किया जाता है ऐप खोलें.
- एफ़डीआर-रीसेट: जब भी उपयोगकर्ता डिवाइस को फ़ैक्ट्री रीसेट करता है, तो हर बार एक नया आईडी इस्तेमाल किया जाता है.
- फ़ैक्ट्री रीसेट के बाद भी मौजूद रहता है: यह आईडी, फ़ैक्ट्री रीसेट के बाद भी मौजूद रहता है.
रीसेट करने की सेटिंग से, उपयोगकर्ता ऐसा नया आईडी बना सकते हैं जो जुड़ा नहीं है को हटा सकते हैं. आइडेंटिफ़ायर जितने लंबे समय तक और ज़्यादा भरोसेमंद तरीके से सेव रहेगा, जैसे कि फ़ैक्ट्री रीसेट के बाद भी सेव रहेगा, उपयोगकर्ता को लंबे समय तक ट्रैक किए जाने का खतरा उतना ही ज़्यादा होगा. अगर ऐप्लिकेशन को फिर से इंस्टॉल करने पर, आइडेंटिफ़ायर को रीसेट कर दिया जाता है. इससे परसिस्टेंस कम हो जाता है और इससे आईडी को रीसेट करने का तरीका पता चलता है, भले ही कोई भी ऐसा व्यक्ति साफ़ तौर पर न हो रीसेट करने का विकल्प होता है.
यूनीक होने की वजह
यूनीक आइडेंटिफ़ायर होने से, एक ही आइडेंटिफ़ायर के दो बार इस्तेमाल होने की संभावना बढ़ जाती है. इसका मतलब है कि एक ही स्कोप में एक जैसे आइडेंटिफ़ायर मौजूद हैं. सबसे ऊंचे लेवल पर, ग्लोबल तौर पर यूनीक आइडेंटिफ़ायर कभी भी किसी दूसरे डिवाइस या ऐप्लिकेशन पर मैच नहीं होता.
इसके अलावा, यूनीक होने का लेवल, आइडेंटिफ़ायर के एन्ट्रोपी और उसे बनाने के लिए इस्तेमाल किए गए रैंडम सोर्स पर निर्भर करता है. उदाहरण के लिए, इंस्टॉलेशन की कैलेंडर तारीख (जैसे कि 2019-03-01
) से सेट किए गए रैंडम आइडेंटिफ़ायर के मुकाबले, इंस्टॉलेशन के यूनिक्स टाइमस्टैंप (जैसे कि 1551414181
) से सेट किए गए आइडेंटिफ़ायर के लिए, एक जैसे आइडेंटिफ़ायर मिलने की संभावना ज़्यादा होती है.
आम तौर पर, उपयोगकर्ता खाते के आइडेंटिफ़ायर को यूनीक माना जा सकता है. इसका मतलब है कि हर डिवाइस/खाते के कॉम्बिनेशन का एक यूनीक आईडी होता है. दूसरी ओर, किसी आबादी में आइडेंटिफ़ायर जितना कम यूनीक होगा, निजता की सुरक्षा उतनी ही ज़्यादा होगी. ऐसा इसलिए, क्योंकि यह किसी उपयोगकर्ता को ट्रैक करने के लिए कम काम का होता है.
पूरी सुरक्षा देने की सुविधा और अस्वीकार न किए जाने की सुविधा
ऐसे आइडेंटिफ़ायर का इस्तेमाल किया जा सकता है जिसे स्पूफ़ करना या फिर से चलाना मुश्किल हो. इससे यह साबित हो सकेगा कि जुड़े हुए डिवाइस या खाते में कुछ प्रॉपर्टी हैं. उदाहरण के लिए, आपके पास ये विकल्प हैं यह साबित करना होगा कि डिवाइस कोई वर्चुअल डिवाइस नहीं है, जिसे स्पैम करने वाला व्यक्ति इस्तेमाल करता है. ऐसे आइडेंटिफ़ायर जिनके लिए झूठे नाम से मेल भेजे जाने में दिक्कत आती है, वे भी अस्वीकार नहीं किए जा सकते हैं. अगर डिवाइस किसी संदेश पर गुप्त कुंजी के साथ हस्ताक्षर करता है, तो यह दावा करना मुश्किल है कि किसी अन्य का डिवाइस ने मैसेज भेजा. ऐसा हो सकता है कि कोई व्यक्ति जिसे अस्वीकार करना हो, जैसे कि जैसे कि किसी पेमेंट की पुष्टि करते समय या कोई अनचाही प्रॉपर्टी हो सकती है, जैसे जैसे कि जब वे कोई मैसेज भेजते हैं, तो उन्हें पछतावा होता है.
इस्तेमाल के सामान्य उदाहरण और इस्तेमाल के लिए सही आइडेंटिफ़ायर
यह सेक्शन, हार्डवेयर आईडी जैसे कि IMEI नंबर का इस्तेमाल करने के विकल्प देता है. इसका इस्तेमाल किया जा रहा है हम हार्डवेयर आईडी का इस्तेमाल करने की सलाह नहीं देते हैं, क्योंकि उपयोगकर्ता उन्हें रीसेट नहीं कर सकते हैं. डिवाइस के दायरे में आता है. कई मामलों में, ऐप्लिकेशन के स्कोप वाला आइडेंटिफ़ायर ही काफ़ी होता है.
खाते
मोबाइल और इंटरनेट सेवा देने वाली कंपनी की स्थिति
इस मामले में, आपका ऐप्लिकेशन डिवाइस के फ़ोन से इंटरैक्ट करता है और मैसेज भेजता है और मोबाइल और इंटरनेट सेवा देने वाली कंपनी के खाते का इस्तेमाल कर रहे हों.
इस्तेमाल करने के लिए सुझाया गया आइडेंटिफ़ायर: IMEI, IMSI, और Line1
यह सुझाव क्यों?
हार्डवेयर आइडेंटिफ़ायर का इस्तेमाल करने की अनुमति सिर्फ़ तब मिलती है, जब ऐसा करना ज़रूरी हो मोबाइल और इंटरनेट सेवा देने वाली कंपनी से जुड़ी सुविधाएं. उदाहरण के लिए, इन आइडेंटिफ़ायर का इस्तेमाल इन कामों के लिए किया जा सकता है मोबाइल और इंटरनेट सेवा देने वाली कंपनी या सिम स्लॉट के बीच स्विच करें, या इससे मैसेज (एसएमएस) डिलीवर करने के लिए आईपी (Line1 के लिए) - सिम पर आधारित उपयोगकर्ता खाते. हालांकि, जिन ऐप्लिकेशन के लिए ऐक्सेस की सुविधा उपलब्ध नहीं है उनके लिए हम उपयोगकर्ता के डिवाइस की जानकारी पाने के लिए, खाते में साइन इन करने का सुझाव दें सर्वर साइड पर क्लिक करें. इसकी एक वजह यह है कि Android 6.0 (एपीआई लेवल 23) में और तो इन आइडेंटिफ़ायर का इस्तेमाल, रनटाइम की अनुमति की मदद से ही किया जा सकता है. उपयोगकर्ता इस अनुमति को टॉगल करके बंद कर सकते हैं. इसलिए, आपके ऐप्लिकेशन को इन अपवादों को आसानी से मैनेज करना चाहिए.
मोबाइल पर सदस्यता की स्थिति
ऐसे मामले में, आपको ऐप्लिकेशन की मुख्य सुविधाओं और उनके काम करने के तरीकों को मोबाइल के कुछ वर्शन के साथ जोड़ना होगा इस दौरान उनकी सदस्यता ली जा सकती है. उदाहरण के लिए, हो सकता है कि आपको डिवाइस में सिम कार्ड की मदद से ली गई मोबाइल सदस्यताओं के आधार पर, ऐप्लिकेशन की कुछ प्रीमियम सुविधाओं के ऐक्सेस की पुष्टि करनी पड़े.
इस्तेमाल करने के लिए सुझाया गया आइडेंटिफ़ायर: सदस्यता आईडी API को डिवाइस पर इस्तेमाल किए जा रहे सिम की पहचान कर सके.
सदस्यता आईडी, डिवाइस में इस्तेमाल किए जा रहे इंस्टॉल किए गए सिम (इनमें फ़िज़िकल और इलेक्ट्रॉनिक सिम शामिल हैं) की खास ढंग से पहचान करने के लिए, इंडेक्स वैल्यू (1 से शुरू) देता है. इस आईडी की मदद से, आपका ऐप्लिकेशन किसी सिम के लिए सदस्यता की अलग-अलग जानकारी के साथ अपनी सुविधाओं को जोड़ सकता है. किसी सिम के लिए यह वैल्यू तब तक स्थिर रहती है, जब तक डिवाइस को फ़ैक्ट्री रीसेट नहीं किया जाता. हालांकि, ऐसा हो सकता है कि एक ही सिम का अलग-अलग डिवाइसों पर अलग सदस्यता आईडी हो या अलग-अलग सिम का अलग-अलग डिवाइसों पर एक ही आईडी हो.
यह सुझाव क्यों?
ऐसा हो सकता है कि कुछ ऐप्लिकेशन फ़िलहाल आईसीसी
इसके लिए आईडी
उद्देश्य है. ICC आईडी दुनिया भर में यूनीक होता है और इसे रीसेट नहीं किया जा सकता. इसलिए, Android 10 के बाद से, इसका ऐक्सेस सिर्फ़ उन ऐप्लिकेशन के लिए सीमित कर दिया गया है जिनके पास READ_PRIVILEGED_PHONE_STATE
अनुमति है. Android 11 से, Android ने getIccId()
एपीआई के ज़रिए आईसीसीआईडी के ऐक्सेस पर और पाबंदी लगा दी है. भले ही, ऐप्लिकेशन का टारगेट एपीआई लेवल कुछ भी हो. प्रभावित ऐप्लिकेशन को इस पर माइग्रेट करना चाहिए:
इसके बजाय, सदस्यता आईडी का इस्तेमाल करें.
सिंगल साइन-ऑन
इस मामले में, आपका ऐप्लिकेशन सिंगल साइन-ऑन की सुविधा देता है. इससे उपयोगकर्ताओं को आपके संगठन के साथ किसी मौजूदा खाते को जोड़ने की अनुमति मिलती है.
इस्तेमाल करने के लिए सुझाया गया आइडेंटिफ़ायर: खाता मैनेजर के साथ काम करने वाले खाते, जैसे कि Google खाता लिंक करना
यह सुझाव क्यों दिया गया है?
Google खाते को लिंक करने पर, उपयोगकर्ता किसी उपयोगकर्ता के मौजूदा Google खाते को अपने ऐप्लिकेशन के लिए उपयोगकर्ता खाता बना सकते हैं. इससे आपको अपने ऐप्लिकेशन का आसान और ज़्यादा सुरक्षित ऐक्सेस मिलता है संगठन के प्रॉडक्ट और सेवाएं इस्तेमाल करते हैं. साथ ही, आपके पास ये विकल्प हैं पसंद के मुताबिक OAuth के दायरे तय करना सिर्फ़ ज़रूरी डेटा शेयर करने के लिए किया जा सकता है. इससे उपयोगकर्ताओं का भरोसा बढ़ता है. इसके लिए, उनका डेटा इस्तेमाल किया जाता है.
विज्ञापन
सही दर्शकों को टारगेट करना
इस मामले में, आपका ऐप्लिकेशन लोगों की दिलचस्पी वाले विषयों की प्रोफ़ाइल बनाता है, ताकि उन्हें दिखाया जा सके ज़्यादा काम के विज्ञापन.
इस्तेमाल करने के लिए सुझाया गया आइडेंटिफ़ायर: अगर आपका ऐप्लिकेशन विज्ञापनों के लिए किसी आईडी का इस्तेमाल करता है और उसे Google Play पर अपलोड या पब्लिश करता है, तो वह आईडी विज्ञापन आईडी होना चाहिए.
यह सुझाव क्यों दिया गया है?
यह विज्ञापन से जुड़ा इस्तेमाल का उदाहरण है. इसके लिए, उपलब्ध आईडी की ज़रूरत पड़ सकती है विज्ञापन आईडी का इस्तेमाल करना है, तो सबसे कारगर समाधान देते हैं. विज्ञापन आईडी का इस्तेमाल इनके लिए ज़रूरी है विज्ञापन के इस्तेमाल के उदाहरणों के मुताबिक, Google Play डेवलपर के लिए कॉन्टेंट की नीति, क्योंकि उपयोगकर्ता इसे रीसेट कर सकता है.
आप ऐप्लिकेशन में उपयोगकर्ता का डेटा शेयर करते हैं या नहीं, अगर आप उसे इकट्ठा और इस्तेमाल करते हैं विज्ञापन उद्देश्यों के लिए, आपको डेटा की सुरक्षा वाला सेक्शन Play Console में ऐप्लिकेशन कॉन्टेंट पेज के सबसे ऊपरी हिस्से पर जाएं.
आकलन
इस मामले में, आपका ऐप्लिकेशन लोगों के व्यवहार के आधार पर उनकी प्रोफ़ाइल बनाता है एक ही डिवाइस पर मौजूद सभी ऐप्लिकेशन का इस्तेमाल करने की अनुमति देते हैं.
इस्तेमाल करने के लिए सुझाया गया आइडेंटिफ़ायर: विज्ञापन आईडी या Play इंस्टॉल रेफ़रर एपीआई
यह सुझाव क्यों दिया गया है?
यह विज्ञापन से जुड़ा इस्तेमाल का उदाहरण है. इसके लिए, आपके संगठन के अलग-अलग ऐप्लिकेशन में उपलब्ध आईडी की ज़रूरत पड़ सकती है. इसलिए, विज्ञापन आईडी का इस्तेमाल करना सबसे सही तरीका है. अगर विज्ञापन के इस्तेमाल के उदाहरणों के लिए किसी आईडी का इस्तेमाल किया जाता है, तो वह आईडी विज्ञापन आईडी होना चाहिए, क्योंकि उपयोगकर्ता उसे रीसेट कर सकता है. ज़्यादा जानकारी के लिए इस लिंक पर जाएं Google Play डेवलपर के लिए कॉन्टेंट की नीति.
कन्वर्ज़न
इस मामले में, कन्वर्ज़न ट्रैक करके यह पता लगाया जा रहा है कि आपकी मार्केटिंग रणनीति काम कर रही है या नहीं.
इस्तेमाल करने के लिए सुझाया गया आइडेंटिफ़ायर: विज्ञापन आईडी या Play इंस्टॉल रेफ़रर एपीआई
यह सुझाव क्यों दिया गया है?
यह विज्ञापन से जुड़ा इस्तेमाल का उदाहरण है. इसके लिए, उपलब्ध आईडी की ज़रूरत पड़ सकती है विज्ञापन आईडी का इस्तेमाल करना है, तो सबसे कारगर समाधान देते हैं. विज्ञापन आईडी का इस्तेमाल इनके लिए ज़रूरी है विज्ञापन के इस्तेमाल के उदाहरणों के मुताबिक, Google Play डेवलपर के लिए कॉन्टेंट की नीति, क्योंकि उपयोगकर्ता इसे रीसेट कर सकता है.
रीमार्केटिंग करना
इस मामले में, आपका ऐप्लिकेशन उपयोगकर्ता की पिछली रुचियों के आधार पर विज्ञापन दिखाता है.
इस्तेमाल करने के लिए सुझाया गया आइडेंटिफ़ायर: विज्ञापन आईडी
यह सुझाव क्यों?
यह विज्ञापन से जुड़ा इस्तेमाल का उदाहरण है. इसके लिए, उपलब्ध आईडी की ज़रूरत पड़ सकती है विज्ञापन आईडी का इस्तेमाल करना है, तो सबसे कारगर समाधान देते हैं. विज्ञापन आईडी का इस्तेमाल इनके लिए ज़रूरी है विज्ञापन के इस्तेमाल के उदाहरणों के मुताबिक, Google Play डेवलपर के लिए कॉन्टेंट की नीति, क्योंकि उपयोगकर्ता इसे रीसेट कर सकता है.
ऐप एनालिटिक्स
इस मामले में, आपका ऐप्लिकेशन उपयोगकर्ता के व्यवहार का आकलन करता है, ताकि आपको यह पता लगाने में मदद मिल सके कि फ़ॉलो किया जा रहा है:
- आपके संगठन के कौनसे अन्य प्रॉडक्ट या ऐप्लिकेशन, उपयोगकर्ता के लिए सही हो सकते हैं.
- उपयोगकर्ताओं को अपने ऐप्लिकेशन का इस्तेमाल करने में दिलचस्पी कैसे बनाए रखें.
- साइन-आउट कर चुके या पहचान छिपाने वाले उपयोगकर्ताओं के लिए, इस्तेमाल के आंकड़े और आंकड़े मेज़र करना.
इस समस्या को हल करने के लिए, ये तरीके अपनाए जा सकते हैं:
- ऐप्लिकेशन सेट आईडी: ऐप्लिकेशन सेट आईडी की मदद से, सभी प्लैटफ़ॉर्म पर उपयोगकर्ता के व्यवहार का विश्लेषण किया जा सकता है आपके संगठन के मालिकाना हक वाले कई ऐप्लिकेशन को तब तक इस्तेमाल किया जाता है, जब तक आप उपयोगकर्ता के डेटा का इस्तेमाल नहीं करते का इस्तेमाल किया जाता है. अगर Google Play की सेवाओं का इस्तेमाल करने वाले डिवाइसों को टारगेट किया जा रहा है, तो हमारा सुझाव है कि आप ऐप्लिकेशन सेट आईडी का इस्तेमाल करें.
- Firebase आईडी (एफ़आईडी): एफ़आईडी का दायरा उस ऐप्लिकेशन तक होता है जो इसे बनाता है. सभी ऐप्लिकेशन पर उपयोगकर्ताओं को ट्रैक करने के लिए, आइडेंटिफ़ायर का इस्तेमाल नहीं किया जाता. यह भी है आसानी से रीसेट हो सकता है, क्योंकि उपयोगकर्ता ऐप्लिकेशन का डेटा मिटा सकता है या ऐप्लिकेशन को फिर से इंस्टॉल कर सकता है. कॉन्टेंट बनाने एफ़आईडी बनाने की प्रोसेस आसान है; Firebase के इंस्टॉल देखें पढ़ें.
ऐप्लिकेशन तैयार करने से जुड़ी सेवाएं
क्रैश रिपोर्ट
इस मामले में, आपका ऐप्लिकेशन क्रैश होने की वजह और समय के हिसाब से, डेटा इकट्ठा करता है उपयोगकर्ता के डिवाइस पर टैप करें.
इस्तेमाल करने के लिए सुझाया गया आइडेंटिफ़ायर: एफ़आईडी या ऐप्लिकेशन सेट आईडी
यह सुझाव क्यों?
एफ़आईडी का स्कोप उस ऐप्लिकेशन के लिए होता है जो इसे बनाता है. यह आइडेंटिफ़ायर को सभी ऐप्लिकेशन पर उपयोगकर्ताओं को ट्रैक करने के लिए इस्तेमाल किया जा रहा है. इसे आसानी से रीसेट किया जा सकता है, क्योंकि उपयोगकर्ता ऐप्लिकेशन का डेटा मिटा सकते हैं या उसे फिर से इंस्टॉल कर सकते हैं. एफ़आईडी बनाने की प्रोसेस आसान; देखें Firebase इंस्टॉल करने से जुड़ी गाइड. ऐप्लिकेशन सेट आईडी की मदद से, ऐसे कई ऐप्लिकेशन पर उपयोगकर्ता के व्यवहार का विश्लेषण किया जा सकता है जिनमें जब तक विज्ञापन दिखाने के लिए उपयोगकर्ता के डेटा का इस्तेमाल नहीं किया जाता, तब तक आपके संगठन के पास अपने संगठन का मालिकाना हक होता है के मकसद से बनाया गया है.
परफ़ॉर्मेंस की रिपोर्टिंग
इस मामले में, आपका ऐप्लिकेशन परफ़ॉर्मेंस मेट्रिक इकट्ठा करता है. जैसे, लोड होने में लगने वाला समय और बैटरी का इस्तेमाल. इससे, आपके ऐप्लिकेशन की क्वालिटी को बेहतर बनाने में मदद मिलती है.
इस्तेमाल करने के लिए सुझाया गया आइडेंटिफ़ायर: Firebase की परफ़ॉर्मेंस मॉनिटरिंग
यह सुझाव क्यों दिया गया है?
Firebase की परफ़ॉर्मेंस मॉनिटरिंग की सुविधा से, उन मेट्रिक पर फ़ोकस करने में मदद मिलती है जो आपके लिए सबसे ज़्यादा मायने रखती हैं. साथ ही, इससे आपके ऐप्लिकेशन में हाल ही में हुए बदलाव के असर की जांच करने में भी मदद मिलती है.
ऐप्लिकेशन की टेस्टिंग
इस स्थिति में, आपका ऐप्लिकेशन, टेस्टिंग के लिए आपके ऐप्लिकेशन के साथ उपयोगकर्ता के अनुभव का आकलन करता है या डीबग करने के मकसद से.
इस्तेमाल करने के लिए सुझाया गया आइडेंटिफ़ायर: एफ़आईडी या ऐप्लिकेशन सेट आईडी
यह सुझाव क्यों?
एफ़आईडी का स्कोप उस ऐप्लिकेशन के लिए होता है जो इसे बनाता है. यह आइडेंटिफ़ायर को सभी ऐप्लिकेशन पर उपयोगकर्ताओं को ट्रैक करने के लिए इस्तेमाल किया जा रहा है. इसे आसानी से रीसेट भी किया जा सकता है, क्योंकि उपयोगकर्ता ऐप्लिकेशन का डेटा मिटा सकता है या ऐप्लिकेशन को फिर से इंस्टॉल कर सकता है. एफ़आईडी बनाने की प्रोसेस आसान है. Firebase इंस्टॉलेशन गाइड देखें. ऐप्लिकेशन सेट आईडी की मदद से, आपके संगठन के मालिकाना हक वाले कई ऐप्लिकेशन में उपयोगकर्ता के व्यवहार का विश्लेषण किया जा सकता है. हालांकि, ऐसा तब तक ही किया जा सकता है, जब तक उपयोगकर्ता के डेटा का इस्तेमाल विज्ञापन के लिए न किया जा रहा हो.
अलग-अलग डिवाइसों पर इंस्टॉल करना
इस मामले में, आपके ऐप्लिकेशन को सही इंस्टेंस की पहचान करनी होगी, जब इसे एक ही उपयोगकर्ता के कई डिवाइसों पर इंस्टॉल किया जाता है.
इस्तेमाल के लिए सुझाया गया आइडेंटिफ़ायर: एफ़आईडी या जीयूआईडी
यह सुझाव क्यों दिया गया है?
एफ़आईडी को खास तौर पर इस काम के लिए डिज़ाइन किया गया है. इसका दायरा सिर्फ़ ऐप्लिकेशन तक सीमित है, ताकि इसका इस्तेमाल अलग-अलग ऐप्लिकेशन में उपयोगकर्ताओं को ट्रैक करने के लिए न किया जा सके. साथ ही, ऐप्लिकेशन को फिर से इंस्टॉल करने पर, यह रीसेट हो जाता है. कुछ मामलों में, एफ़आईडी का इस्तेमाल करने से ज़रूरी जानकारी नहीं मिलती. ऐसे में, जीयूआईडी का इस्तेमाल किया जा सकता है.
सुरक्षा
बुरे बर्ताव की पहचान करना
इस मामले में, आपको अपनी बैकएंड सेवाओं पर हमला करने वाले कई फ़र्ज़ी डिवाइसों का पता लगाना है.
इस्तेमाल करने के लिए सुझाया गया आइडेंटिफ़ायर: Google Play Integrity API का इंटिग्रिटी टोकन
यह सुझाव क्यों दिया गया है?
यह पुष्टि करने के लिए कि अनुरोध किसी असली Android डिवाइस से आया है, न कि एम्युलेटर या अन्य डिवाइस के झूठे नाम से मेल भेजने वाले अन्य कोड—इस टूल का इस्तेमाल करें Google Play Integrity API.
विज्ञापन से होने वाली धोखाधड़ी
इस मामले में, आपका ऐप्लिकेशन यह जांच करता है कि आपके ऐप्लिकेशन में उपयोगकर्ता के इंप्रेशन और कार्रवाइयां सही हैं और उनकी पुष्टि की जा सकती है.
इस्तेमाल करने के लिए सुझाया गया आइडेंटिफ़ायर: विज्ञापन आईडी
यह सुझाव क्यों दिया गया है?
Google Play के डेवलपर के लिए कॉन्टेंट से जुड़ी नीति के मुताबिक, विज्ञापन दिखाने के लिए विज्ञापन आईडी का इस्तेमाल करना ज़रूरी है. ऐसा इसलिए है, क्योंकि उपयोगकर्ता इसे रीसेट कर सकता है.
डिजिटल राइट मैनेजमेंट (डीआरएम)
इस मामले में, आपका ऐप्लिकेशन धोखे से बौद्धिक संपत्ति वाले ऐक्सेस को सुरक्षित रखना चाहता है प्रॉपर्टी या पैसे लेकर दिखाया जाने वाला कॉन्टेंट.
इस्तेमाल के लिए सुझाया गया आइडेंटिफ़ायर: एफ़आईडी या जीयूआईडी का इस्तेमाल करने पर, उपयोगकर्ताओं को ये काम करने के लिए मजबूर करना पड़ता है सामग्री सीमाओं से बचने के लिए ऐप्लिकेशन को फिर से इंस्टॉल करें, जो पर परेशानी हो सकती है. अगर यह सुरक्षा काफ़ी नहीं है, तो Android एक डीएमआर एपीआई उपलब्ध कराता है. इसका इस्तेमाल, कॉन्टेंट के ऐक्सेस को सीमित करने के लिए किया जा सकता है. इसमें हर APK के लिए एक आइडेंटिफ़ायर, Widevine आईडी शामिल होता है.
उपयोगकर्ता प्राथमिकताएं
इस मामले में, आपका ऐप्लिकेशन हर डिवाइस के लिए उपयोगकर्ता की स्थिति को सेव करता है. ऐसा खास तौर पर, उन उपयोगकर्ताओं के लिए किया जाता है जिन्होंने साइन इन नहीं किया है. इस स्थिति को किसी दूसरे ऐप्लिकेशन में ट्रांसफ़र किया जा सकता है जो उसी डिवाइस पर एक ही कुंजी से साइन किए गए हों.
इस्तेमाल के लिए सुझाया गया आइडेंटिफ़ायर: एफ़आईडी या जीयूआईडी
यह सुझाव क्यों?
हमारा सुझाव है कि ऐप्लिकेशन को फिर से इंस्टॉल करने पर, उसकी सेटिंग में सेव की गई जानकारी को न सेव करें. ऐसा इसलिए, क्योंकि हो सकता है कि उपयोगकर्ता ऐप्लिकेशन को फिर से इंस्टॉल करके, अपनी सेटिंग को रीसेट करना चाहें.