যদি এই আর্টিকেলের টাইটেল আপনার কাছে কিছু মানে রাখে, তবে আপনি সম্ভবত iOS 14-এর কারণে এসেছে ভূমিক্পের সচেতন।
iOS 14 রিলিজের সাথে, অ্যাপ্লিকেশনগুলি কীভাবে ইউজারের তথ্য সংগ্রহ করে সেটা নিয়ে বড় পরিবর্তন হয়েছে। 그중 একটি হল আইডেন্টিফায়ার ফর অ্যাডভার্টাইজার্স (IDFA) এবং অ্যাপ্লিকেশনগুলি কীভাবে এটিতে অ্যাক্সেস পায়।
কিন্তু যারা না জানেন, তাদের জন্য প্রথমে ব্যাখ্যা করা যাক IDFA কী এবং এটি কেন গুরুত্বপূর্ণ।
IDFA কী?
প্রতিটি iOS ডিভাইস 오নার সিদ্ধান্ত নিতে পারে যে তারা বিজ্ঞাপন কোম্পানিগুলোর দ্বারা ট্র্যাক হতে চান কিনা। এটি সেই কোম্পানিগুলোকে ইউজারের সাথে কনটেন্ট সরবরাহ করতে দেয় যা তাদের অনলাইন ব্রাউজিং অভ্যাসের ভিত্তিতে টেইলর করা হয়।
কোম্পানিগুলো IDFA (Identifier For Advertisers) নামে একটি জিনিস দিয়ে এটি করতে পারে। এটি একটি UUID স্ট্রিং যা বিজ্ঞাপনদাতাদের ইউজারকে তাদের বিহেভিয়রের সাথে ম্যাচ করতে দেয়।
এখানে একটি UUID স্ট্রিংর উদাহরণ: 123e4567-e89b-12d3-a456–426614174000।
আমরা যা পরিবর্তনগুলো নিয়ে কথা বলছিলাম সেগুলো কী?
সংক্ষেপে, অ্যাপ্লিকেশনগুলোর এখন ইউজারকে একটি ডায়ালগ দেখাতে হবে, उनसे জিজ্ঞেস করে যে তারা অ্যাপ্লিকেশনটিকে তাদের ট্র্যাক করার অনুমতি দিতে চান কিনা।
দেখতে কाफি ভয়ানক, ঠিক নাকি?
এটি iOS 14-এর আগের পদ্ধতির বিপরীত, যেখানে আপনাকে শুধু চেক করতে হতো যে ডিভাইসে লিমিটেড অ্যাডভারটাইজিং ট্র্যাকিং ইনাবলড বা ডিজেবলড।
Apple-এর অপারেটিং সিস্টেমের নতুন সংস্করণ (iOS 14) ইতিমধ্যে উপলব্ধ (সেপ্টেম্বর ১৬ থেকে)। IDFA ব্যবহারকারী ডেভেলপারদের iOS 14-এর জন্য কম্প্যাটিবল হওয়ার জন্য তাদের অ্যাপ্লিকেশনগুলোতে পরিবর্তন আনতে হবে।
সেপ্টেম্বর ৩-এ, Apple একটি আপডেট দিয়ে এই আপডেটগুলো সম্পন্ন করার ডেডলাইন আগামী বছরের শুরুতে পুশ করল:
“ডেভেলপারদের প্রয়োজনীয় পরিবর্তন করার সময় দিতে, অ্যাপগুলোকে ইউজার ট্র্যাক করার পারমিশন পেতে হবে أوائل বছরের শুরুতে”
এখন যেহেতু আমাদের কিছু সময় হয়েছে আপনি নিজেদের সামঞ্জস্য করার জন্য, চলুন ২০২১-এ নতুন নরমাল কী হবে সেটা জন্য প্রস্তুত হই।
এই আর্টিকেলে, আমরা IDFA-র কিছু ব্যাকগ্রাউন্ড উপস্থাপন করব এবং দেখব কিভাবে iOS 14 এবং তার পর থেকে এর মান পাওয়া যায়।
বিজ্ঞাপনদাতারা IDFA কীভাবে ব্যবহার করে?
একটি সিনেরিও নিই (প্রি-কোভিড-১৯) যেখানে আপনি আপনার iPhone-এ ওয়েব ব্রাউজ করছেন এবং আপনার পরের ভ্যাকেশনের জন্য একটি হোটেল খুঁজছেন।
আপনি যে প্রতিটি অ্যাড দেখবেন, সেটি আপনার IDFA সংযুক্ত করে একটি পিক্সেল পাঠাবে। একজন বিজ্ঞাপনদাতা দেখতে পাবে যে আপনি হোটেল প্রোমোট করার অনেক অ্যাড দেখছেন আপনার IDFA ম্যাচ করে এবং kết luận করবেন যে আপনি একটি হোটেল রুম বুক করতে চাচ্ছেন।
সেখান থেকে, আপনাকে হোটেল রুমের জন্য অনেক অ্যাড দেখানো হবে আরও দের না লাগিয়ে।
এটি একটি সহজ কিন্তু গভীর প্রযুক্তি যা ২০১২ সালে 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" অপশনের উপরের দুটি লাইন ("Do you want to be tracked?")
এটি মানে ডেভেলপারদের দীর্ঘ ও গভীরভাবে চিন্তা করতে হবে কীভাবে এবং কখন তারা ইউজারকে মেসেজটি দেখাবে।
অথরাইজেশন স্ট্যাটাস
iOS 14-এ, একটি নতুন ফ্রেমওয়ার্ক তৈরি হয়েছে যেটি বলা হয় App Tracking Transparency। এই ফ্রেমওয়ার্কে ATTrackingManager নামে একটি ক্লাস আছে, যা API প্রদান করে:
- ইউজারকে তাদের ট্র্যাক করার পারমিশন চেয়ে একটি ডায়ালগ দেখাতে
- অথরাইজেশন স্ট্যাটাস কোয়েরি করা (ডায়ালগ দেখায় ন দেখালে不管怎样)
প্রথমে আমরা শিখব কীভাবে অথরাইজেশন স্ট্যাটাস পাওয়া যায়। সেজন্য, আপনাকে trackingAuthorizationStatus মেথড কল করতে হবে।
ATTrackingManagerAuthorizationStatus status = [ATTrackingManager trackingAuthorizationStatus];
এটি একটি NSUInteger রিটার্ন করবে নিচের মানগুলো থেকে একটা:
- ATTrackingManagerAuthorizationStatusNotDetermined = 0
- ATTrackingManagerAuthorizationStatusRestricted = 1
- ATTrackingManagerAuthorizationStatusAuthorized = 3
- ATTrackingManagerAuthorizationStatusDenied = 2
প্রথম তিনটি রেজাল্ট খুবই স্বয়ংসিদ্ধ, তাই আমরা চেষ্টা করব শেষটার ওপর ফোকাস করার।
আপনি একটি অথরাইজেশন স্ট্যাটাস পেতে পারেন restricted যখন এডভারটাইজিং ট্র্যাকিং ইনাবল/ডিজেবল করার স্ক্রিন লক করা থাকে এবং এই অপশনটি ইনাবলড থাকে।
Apple এটি স্বীকার করেছে সেসব ডিভাইসের জন্য যেগুলো শিশুদের হিসেবে চিহ্নিত (উদাহরণস্বরূপ)।
ট্র্যাক করার পারমিশন চেয়ে রাখা
ডায়ালগটি দেখানোর কোডে যাওয়ার আগে, আপনাকে অবশ্যই আপনার info.plist ফাইলে NSUserTrackingUsageDescription কীটি যোগ করতে হবে।
আপনি এই কীতে যা ভ্যালু হিসেবে দেবেন, সেটি ডায়ালগে আগে কথা বলা দুটি লাইন হিসেবে দেখাবে।
ডায়ালগটি দেখানোর জন্য, আমাদের requestTrackingAuthorizationWithCompletionHandler কল করতে হবে:
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
if (status == ATTrackingManagerAuthorizationStatusDenied) {
// অথরাইজেশন স্ট্যাটাস denied হলে লজিক
} else if (status == ATTrackingManagerAuthorizationStatusAuthorized) {
// অথরাইজেশন স্ট্যাটাস authorized হলে লজিক
} else if (status == ATTrackingManagerAuthorizationStatusNotDetermined) {
// অথরাইজেশন স্ট্যাটাস অজানা হলে লজিক
} else if (status == ATTrackingManagerAuthorizationStatusRestricted) {
// অথরাইজেশন স্ট্যাটাস restricted হলে লজিক
}
}];
এই আর্টিকেলের প্রথম ছবিতে (যেখানে আপনি ডায়ালগটি দেখেন) আপনি দেখতে পাবেন যে info.plist ফাইলে আমরা যা লিখেছিলাম সেটি ডায়ালগে দুটি লাইন হিসেবে দেখাচ্ছে।
সমাপন
উপসংহারে, মনে রাখা গুরুত্বপূর্ণ যে এই পরিবর্তনগুলো, যদিও ভয়ঙ্কর লাগে, ততক্ষণায় ঘটছে না।
আপনাকে এই আর্টিকেলে বর্ণিত সকল ধাপ অনুসরণ করতে হবে যাতে আপনার অ্যাপ্লিকেশনগুলোতে ক্র্যাশ/এরর না আসে।