यदि इस लेख का शीर्षक आपके लिए कुछ मायने रखता है, तो आप शायद iOS 14 द्वारा पैदा किए गए भूकंप से अवगत हैं।
iOS 14 की रिलीज के साथ, एप्लिकेशन द्वारा उपयोगकर्ता के बारे में जानकारी एकत्र करने के तरीके में बड़े बदलाव आए हैं। उनमें से एक Identifier For Advertisers (या IDFA) से संबंधित है और एप्लिकेशन इसे कैसे एक्सेस कर सकते हैं।
लेकिन जो नहीं जानते उनके लिए, आइए पहले समझाते हैं कि IDFA क्या है और यह क्यों महत्वपूर्ण है।
IDFA क्या है?
प्रत्येक iOS डिवाइस मालिक यह तय कर सकता है कि वे विज्ञापन कंपनियों द्वारा ट्रैक होना चाहते हैं या नहीं। यह उन कंपनियों को उस उपयोगकर्ता के लिए अनुकूलित सामग्री प्रदान करने की अनुमति देता है (उनकी ऑनलाइन ब्राउज़िंग आदतों के आधार पर)।
कंपनियां इसे IDFA (Identifier For Advertisers) के रूप में जानी जाने वाली चीज़ के साथ कर सकती हैं। यह एक UUID स्ट्रिंग है जो विज्ञापनदाताओं को उपयोगकर्ता को उनके व्यवहार से मिलान करने देती है।
यहां UUID स्ट्रिंग का एक उदाहरण है: 123e4567-e89b-12d3-a456–426614174000।
तो, वे बदलाव क्या हैं जिनके बारे में हमने पहले बात की थी?
संक्षेप में, एप्लिकेशन को अब उपयोगकर्ता को एक डायलॉग दिखाने की आवश्यकता होगी, उनसे पूछना होगा कि क्या वे एप्लिकेशन को उन्हें ट्रैक करने की अनुमति देना चाहते हैं या नहीं।
यह काफी भयानक लगता है, है ना?
यह iOS 14 से पहले चीजें कैसे काम करती थीं, इसके विपरीत है, जहां आपको केवल यह जांचना था कि डिवाइस पर सीमित विज्ञापन ट्रैकिंग सक्षम या अक्षम है।
Apple का नवीनतम ऑपरेटिंग सिस्टम वर्जन (iOS 14) पहले से ही उपलब्ध है (16 सितंबर से)। जो डेवलपर्स IDFA का उपयोग करते हैं, उन्हें iOS 14 के साथ संगत होने के लिए अपने एप्लिकेशन में बदलाव करने होंगे।
3 सितंबर को, Apple ने एक अपडेट किया और इन अपडेट को पूरा करने की समय सीमा को अगले साल की शुरुआत तक बढ़ा दिया:
"डेवलपर्स को आवश्यक परिवर्तन करने का समय देने के लिए, ऐप्स को अगले साल की शुरुआत से उपयोगकर्ताओं को ट्रैक करने की अनुमति प्राप्त करने की आवश्यकता होगी"
अब जब हमारे पास अपनी सांस लेने और फिर से सांस लेने का समय है, तो आइए 2021 में नई सामान्य स्थिति के लिए खुद को तैयार करना शुरू करें।
इस लेख में, हम IDFA के बारे में कुछ पृष्ठभूमि प्रस्तुत करेंगे और देखेंगे कि iOS 14 और उसके बाद से इसका मूल्य कैसे प्राप्त किया जा सकता है।
विज्ञापनदाताओं द्वारा IDFA का उपयोग कैसे किया जाता है?
आइए एक परिदृश्य लें (COVID-19 से पहले) जहां आप अपने iPhone पर वेब ब्राउज़ कर रहे हैं और अपनी अगली छुट्टी के लिए एक होटल ढूंढ रहे हैं।
आप जो भी विज्ञापन देखेंगे, वह आपके IDFA के साथ एक पिक्सेल भेजेगा। एक विज्ञापनदाता देख सकता है कि आप अपने IDFA से मिलान करके बहुत सारे होटल प्रचार करने वाले विज्ञापन देख रहे हैं और निष्कर्ष निकाल सकता है कि आप एक होटल रूम बुक करना चाह रहे हैं।
वहां से, आपको होटल रूम के लिए बहुत सारे विज्ञापन दिखाए जाने में ज्यादा समय नहीं लगेगा।
यह सरल लेकिन गहन तकनीक 2012 में iOS 6 के साथ हमारे जीवन में आई। तब से बहुत कुछ बदल गया है, और iOS 14 एक बार फिर उद्योग को उल्टा कर रहा है।
✋ नोट: इन नए API का उपयोग करने के लिए आपको XCode 12 में अपग्रेड/डाउनलोड करना होगा।
विज्ञापन ट्रैकिंग और IDFA प्राप्त करना
iOS 14 से पहले, IDFA प्राप्त करना काफी सरल था।
आपको यह जांचना था कि विज्ञापन ट्रैकिंग सक्षम है या नहीं, ऐसा करके:
[[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled]
और यदि यह अक्षम था, तो इसका मतलब था कि आप ASIdentifierManager क्लास के माध्यम से IDFA प्राप्त कर सकते हैं, जैसे:
[[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
काफी सरल, है ना?
☝️ iOS 10 से शुरू होकर, यदि उपयोगकर्ता ने विज्ञापन ट्रैकिंग अक्षम की, तो उपरोक्त मेथड शून्य से भरी एक UUID स्ट्रिंग लौटाएगा।
iOS 14 में परिवर्तनों में से एक यह है कि विज्ञापनदाता ट्रैकिंग सक्षम है या नहीं, यह जांचने वाली मेथड को डिप्रिकेट कर दिया गया है। तो iOS 14 और उसके बाद से एप्लिकेशन प्रतिष्ठित IDFA कैसे प्राप्त कर सकते हैं?
उन्हें एक नए API का उपयोग करना होगा जो उपयोगकर्ता को एक डायलॉग प्रस्तुत करता है। इस डायलॉग के बारे में ज्ञान के कुछ शब्द:
- इसे उपयोगकर्ता को केवल एक बार प्रस्तुत किया जा सकता है
- डायलॉग के UI में केवल दो पंक्तियों को बदला जा सकता है जो Allow Tracking विकल्प के ऊपर हैं ("क्या आप ट्रैक होना चाहते हैं?")
इसका मतलब है कि डेवलपर्स को लंबे और कठिन सोचने की आवश्यकता होगी कि वे उपयोगकर्ता को संदेश कैसे और कब प्रस्तुत करेंगे।
प्राधिकरण स्थिति
iOS 14 के साथ, App Tracking Transparency नामक एक नया फ्रेमवर्क बनाया गया है। इस फ्रेमवर्क में ATTrackingManager नामक एक क्लास है, जो एक API प्रदान करता है:
- उपयोगकर्ता को उन्हें ट्रैक करने की अनुमति का अनुरोध करने वाला एक डायलॉग प्रस्तुत करने के लिए
- प्राधिकरण स्थिति को क्वेरी करने के लिए (डायलॉग दिखाए बिना या दिखाए बिना)
हम पहले सीखेंगे कि प्राधिकरण स्थिति कैसे प्राप्त करें। ऐसा करने के लिए, आपको trackingAuthorizationStatus मेथड को कॉल करने की आवश्यकता है।
ATTrackingManagerAuthorizationStatus status = [ATTrackingManager trackingAuthorizationStatus];
यह निम्न मानों में से एक के साथ NSUInteger लौटाएगा:
- ATTrackingManagerAuthorizationStatusNotDetermined = 0
- ATTrackingManagerAuthorizationStatusRestricted = 1
- ATTrackingManagerAuthorizationStatusAuthorized = 3
- ATTrackingManagerAuthorizationStatusDenied = 2
पहले तीन परिणाम काफी आत्म-व्याख्यात्मक हैं, इसलिए हम अंतिम पर एक मिनट के लिए ध्यान केंद्रित करेंगे।
आपको एक प्राधिकरण स्थिति मिल सकती है जो प्रतिबंधित है जब विज्ञापन ट्रैकिंग को सक्षम/अक्षम करने की स्क्रीन लॉक होती है और यह विकल्प सक्षम पर सेट होता है।
Apple ने इसे उन डिवाइस में स्वीकार किया है जिन्हें बच्चों का माना जाता है (उदाहरण के लिए)।
ट्रैक करने की अनुमति मांगना
डायलॉग प्रस्तुत करने के लिए आवश्यक कोड में देखने से पहले, आपको पहले अपने info.plist फ़ाइल के अंदर NSUserTrackingUsageDescription कुंजी शामिल करनी होगी।
आप इस कुंजी के लिए जो मान जोड़ते हैं वह डायलॉग में पहले उल्लेखित दो पंक्तियों के रूप में दिखाई देगा।
डायलॉग प्रस्तुत करने के लिए, हमें requestTrackingAuthorizationWithCompletionHandler कॉल करने की आवश्यकता है:
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
if (status == ATTrackingManagerAuthorizationStatusDenied) {
// तर्क जब प्राधिकरण स्थिति अस्वीकृत है
} else if (status == ATTrackingManagerAuthorizationStatusAuthorized) {
// तर्क जब प्राधिकरण स्थिति अधिकृत है
} else if (status == ATTrackingManagerAuthorizationStatusNotDetermined) {
// तर्क जब प्राधिकरण स्थिति अज्ञात है
} else if (status == ATTrackingManagerAuthorizationStatusRestricted) {
// तर्क जब प्राधिकरण स्थिति प्रतिबंधित है
}
}];
इस लेख की पहली तस्वीर में (जहां आप डायलॉग देखते हैं) आप देख सकते हैं कि info.plist फ़ाइल में हमने जो पंक्तियां लिखीं वे डायलॉग में दो पंक्तियों के रूप में दिखाई देती हैं।
समापन
निष्कर्ष में, यह याद रखना महत्वपूर्ण है कि ये परिवर्तन, हालांकि कठिन हैं, तुरंत नहीं हो रहे हैं।
आपको यह भी सुनिश्चित करना चाहिए कि इस लेख में विस्तृत सभी चरणों का पालन किया जाए ताकि आपके एप्लिकेशन में क्रैश/त्रुटियों का सामना न करना पड़े।