এই নথিটি আপনার ব্যবহারের ধরনের ওপর ভিত্তি করে আপনার অ্যাপের জন্য উপযুক্ত শনাক্তকারী নির্বাচন করার বিষয়ে নির্দেশনা প্রদান করে।
অ্যান্ড্রয়েড পারমিশন সম্পর্কে সাধারণ ধারণা পেতে, পারমিশন ওভারভিউ দেখুন। অ্যান্ড্রয়েড পারমিশন নিয়ে কাজ করার নির্দিষ্ট সেরা পদ্ধতি জানতে, অ্যাপ পারমিশন বেস্ট প্র্যাকটিসেস দেখুন।
অ্যান্ড্রয়েড আইডেন্টিফায়ার নিয়ে কাজ করার সর্বোত্তম অনুশীলন
আপনার ব্যবহারকারীদের গোপনীয়তা রক্ষা করতে, এমন একটি শনাক্তকারী ব্যবহার করুন যা আপনার অ্যাপের ব্যবহারের ক্ষেত্রকে পূরণ করে এবং যা সবচেয়ে সীমাবদ্ধ। বিশেষ করে, এই সর্বোত্তম অনুশীলনগুলো অনুসরণ করুন:
- যখনই সম্ভব, ব্যবহারকারী-রিসেটযোগ্য আইডেন্টিফায়ার বেছে নিন। আপনার অ্যাপ রিসেট-অযোগ্য হার্ডওয়্যার আইডি ছাড়া অন্য আইডেন্টিফায়ার ব্যবহার করেও তার অধিকাংশ উদ্দেশ্য পূরণ করতে পারে।
হার্ডওয়্যার আইডেন্টিফায়ার ব্যবহার করা পরিহার করুন। বেশিরভাগ ক্ষেত্রে, প্রয়োজনীয় কার্যকারিতা সীমিত না করেই ইন্টারন্যাশনাল মোবাইল ইকুইপমেন্ট আইডেন্টিটি (IMEI)-এর মতো হার্ডওয়্যার আইডেন্টিফায়ার ব্যবহার করা এড়ানো যায়।
অ্যান্ড্রয়েড ১০ (এপিআই লেভেল ২৯) রিসেট-অযোগ্য আইডেন্টিফায়ারগুলোর ওপর বিধিনিষেধ আরোপ করেছে, যার মধ্যে আইএমইআই এবং সিরিয়াল নম্বর উভয়ই অন্তর্ভুক্ত। এই আইডেন্টিফায়ারগুলো অ্যাক্সেস করার জন্য আপনার অ্যাপটিকে অবশ্যই একটি ডিভাইস বা প্রোফাইল ওনার অ্যাপ হতে হবে, বিশেষ ক্যারিয়ার পারমিশন থাকতে হবে, অথবা
READ_PRIVILEGED_PHONE_STATEপ্রিভিলেজড পারমিশন থাকতে হবে।শুধুমাত্র ব্যবহারকারীর প্রোফাইলিং বা বিজ্ঞাপনের ব্যবহারের ক্ষেত্রে একটি বিজ্ঞাপনী আইডি ব্যবহার করুন। বিজ্ঞাপনী আইডি ব্যবহার করার সময়, বিজ্ঞাপন ট্র্যাকিং সংক্রান্ত ব্যবহারকারীর পছন্দকে সর্বদা সম্মান করুন । যদি আপনাকে বিজ্ঞাপনী শনাক্তকারীকে ব্যক্তিগতভাবে শনাক্তযোগ্য তথ্যের সাথে সংযুক্ত করতেই হয়, তবে তা শুধুমাত্র ব্যবহারকারীর সুস্পষ্ট সম্মতিতে করুন।
অ্যাডভারটাইজিং আইডি রিসেট ব্রিজ করবেন না।
পেমেন্ট জালিয়াতি প্রতিরোধ এবং টেলিফোনি ব্যতীত অন্য সকল ব্যবহারের ক্ষেত্রে, যথাসম্ভব একটি Firebase ইনস্টলেশন আইডি (FID) বা ব্যক্তিগতভাবে সংরক্ষিত GUID ব্যবহার করুন। বিজ্ঞাপন-বহির্ভূত অধিকাংশ ব্যবহারের ক্ষেত্রেই একটি FID বা GUID যথেষ্ট হওয়া উচিত।
গোপনীয়তার ঝুঁকি কমাতে আপনার ব্যবহারের ক্ষেত্রের জন্য উপযুক্ত এপিআই (API) ব্যবহার করুন। উচ্চ-মূল্যের কন্টেন্ট সুরক্ষার জন্য ডিআরএম (DRM) এপিআই এবং অপব্যবহার থেকে সুরক্ষার জন্য প্লে ইন্টিগ্রিটি এপিআই (Play Integrity API) ব্যবহার করুন। গোপনীয়তার ঝুঁকি ছাড়াই কোনো ডিভাইস আসল কিনা তা নির্ধারণ করার সবচেয়ে সহজ উপায় হলো প্লে ইন্টিগ্রিটি এপিআই।
এই নির্দেশিকার বাকি অংশগুলোতে অ্যান্ড্রয়েড অ্যাপ তৈরির প্রেক্ষাপটে এই নিয়মগুলো বিশদভাবে ব্যাখ্যা করা হয়েছে।
বিজ্ঞাপন আইডি নিয়ে কাজ করুন
অ্যাডভার্টাইজিং আইডি হলো একটি ব্যবহারকারী-পুনঃস্থাপনযোগ্য শনাক্তকারী এবং এটি বিজ্ঞাপনের ব্যবহারের ক্ষেত্রে উপযুক্ত। তবে, এই আইডি ব্যবহার করার সময় কিছু গুরুত্বপূর্ণ বিষয় মনে রাখতে হবে:
বিজ্ঞাপন আইডি রিসেট করার ক্ষেত্রে ব্যবহারকারীর ইচ্ছাকে সর্বদা সম্মান করুন। ব্যবহারকারীর সম্মতি ছাড়া পরবর্তী বিজ্ঞাপন আইডিগুলোকে একসাথে লিঙ্ক করার জন্য অন্য কোনো শনাক্তকারী বা ফিঙ্গারপ্রিন্ট ব্যবহার করে ব্যবহারকারীর রিসেটগুলোকে সংযুক্ত করবেন না। গুগল প্লে ডেভেলপার কন্টেন্ট পলিসিতে নিম্নলিখিত বিষয়গুলো বলা হয়েছে:
...রিসেট করা হলে, ব্যবহারকারীর সুস্পষ্ট সম্মতি ব্যতীত কোনো নতুন বিজ্ঞাপন শনাক্তকারীকে পূর্ববর্তী কোনো বিজ্ঞাপন শনাক্তকারী বা তা থেকে প্রাপ্ত ডেটার সাথে সংযুক্ত করা যাবে না।
সর্বদা সংশ্লিষ্ট পার্সোনালাইজড অ্যাডস ফ্ল্যাগটি মেনে চলুন। অ্যাডভার্টাইজিং আইডিগুলো কনফিগারযোগ্য, যার ফলে ব্যবহারকারীরা আইডিটির সাথে যুক্ত ট্র্যাকিংয়ের পরিমাণ সীমিত করতে পারেন। আপনি যেন আপনার ব্যবহারকারীদের ইচ্ছাকে অগ্রাহ্য না করেন, তা নিশ্চিত করতে সর্বদা AdvertisingIdClient.Info.isLimitAdTrackingEnabled() মেথডটি ব্যবহার করুন। গুগল প্লে ডেভেলপার কন্টেন্ট পলিসিতে নিম্নলিখিত বিষয়গুলো উল্লেখ করা হয়েছে:
...আপনাকে অবশ্যই একজন ব্যবহারকারীর 'আগ্রহ-ভিত্তিক বিজ্ঞাপন থেকে অপ্ট আউট' অথবা 'বিজ্ঞাপন ব্যক্তিগতকরণ থেকে অপ্ট আউট' সেটিং মেনে চলতে হবে। যদি কোনো ব্যবহারকারী এই সেটিংটি সক্রিয় করে থাকেন, তাহলে আপনি বিজ্ঞাপনের উদ্দেশ্যে ব্যবহারকারী প্রোফাইল তৈরি করতে অথবা ব্যক্তিগতকৃত বিজ্ঞাপনের মাধ্যমে ব্যবহারকারীদের লক্ষ্যবস্তু করতে বিজ্ঞাপন শনাক্তকারীটি ব্যবহার করতে পারবেন না। অনুমোদিত কার্যকলাপগুলোর মধ্যে রয়েছে প্রাসঙ্গিক বিজ্ঞাপন, ফ্রিকোয়েন্সি ক্যাপিং, কনভার্সন ট্র্যাকিং, রিপোর্টিং এবং নিরাপত্তা ও জালিয়াতি শনাক্তকরণ।
আপনার ব্যবহৃত SDK-গুলির সাথে অ্যাডভার্টাইজিং আইডি ব্যবহারের সাথে সম্পর্কিত যেকোনো গোপনীয়তা বা নিরাপত্তা নীতি সম্পর্কে সচেতন থাকুন। উদাহরণস্বরূপ, যদি আপনি Google Analytics SDK-এর enableAdvertisingIdCollection() মেথডে true পাস করেন, তাহলে প্রযোজ্য সমস্ত Analytics SDK নীতি পর্যালোচনা করে তা মেনে চলুন।
এছাড়াও, মনে রাখবেন যে গুগল প্লে ডেভেলপার কন্টেন্ট পলিসি অনুযায়ী অ্যাডভার্টাইজিং আইডি "ব্যক্তিগতভাবে শনাক্তযোগ্য তথ্যের সাথে সংযুক্ত বা কোনো স্থায়ী ডিভাইস আইডেন্টিফায়ারের (যেমন: SSAID, MAC অ্যাড্রেস, IMEI, ইত্যাদি) সাথে যুক্ত করা যাবে না।"
উদাহরণস্বরূপ, ধরুন আপনি ডাটাবেস টেবিলগুলিতে নিম্নলিখিত কলামগুলি পূরণ করার জন্য তথ্য সংগ্রহ করতে চান:
| টেবিল-০১ | |||
timestamp | ad_id | account_id | clickid |
| টেবিল-০২ | |||
account_id | name | dob | country |
এই উদাহরণে, উভয় টেবিলেই ad_id কলামটিকে account_id কলামের মাধ্যমে PII-এর সাথে যুক্ত করা যেতে পারে, যা গুগল প্লে ডেভেলপার কন্টেন্ট পলিসির লঙ্ঘন হবে, যদি না আপনি আপনার ব্যবহারকারীদের কাছ থেকে সুস্পষ্ট অনুমতি নিয়ে থাকেন।
মনে রাখবেন যে বিজ্ঞাপনদাতা আইডি (Advertiser ID) এবং ব্যক্তিগত শনাক্তকারী তথ্য (PII)-এর মধ্যে সংযোগ সবসময় এত সুস্পষ্ট হয় না। এমন "আধা-শনাক্তকারী" (quasi-identifiers) থাকা সম্ভব যা ব্যক্তিগত শনাক্তকারী তথ্য (PII) এবং বিজ্ঞাপনদাতা আইডি (Ad ID) উভয় কী-যুক্ত টেবিলেই উপস্থিত থাকে, যা সমস্যাও সৃষ্টি করে। উদাহরণস্বরূপ, ধরে নিন আমরা টেবিল-০১ (TABLE-01) এবং টেবিল-০২ (TABLE-02) নিম্নরূপ পরিবর্তন করি:
| টেবিল-০১ | ||||
timestamp | ad_id | clickid | dev_model | |
| টেবিল-০২ | ||||
timestamp | demo | account_id | dev_model | name |
এক্ষেত্রে, যথেষ্ট বিরল ক্লিক ইভেন্টের মাধ্যমেও, ইভেন্টের টাইমস্ট্যাম্প এবং ডিভাইস মডেল ব্যবহার করে বিজ্ঞাপনদাতা আইডি টেবিল-০১ এবং টেবিল-০২-এ থাকা ব্যক্তিগত শনাক্তকরণ তথ্যের (PII) মধ্যে সংযোগ স্থাপন করা সম্ভব।
যদিও একটি ডেটাসেটে এই ধরনের কোনো আধা-শনাক্তকারী নেই তা নিশ্চিত করা প্রায়শই কঠিন, তবুও যেখানে সম্ভব অনন্য ডেটাকে সাধারণীকরণের মাধ্যমে আপনি সবচেয়ে সুস্পষ্ট জয়েন ঝুঁকিগুলো প্রতিরোধ করতে পারেন। পূর্ববর্তী উদাহরণে, এর অর্থ হবে টাইমস্ট্যাম্পের নির্ভুলতা হ্রাস করা, যাতে প্রতিটি টাইমস্ট্যাম্পের জন্য একই মডেলের একাধিক ডিভাইস প্রদর্শিত হয়।
অন্যান্য সমাধানগুলো হলো নিম্নরূপ:
এমন টেবিল ডিজাইন না করা যা স্পষ্টভাবে ব্যক্তিগত শনাক্তকরণ তথ্য (PII) এবং বিজ্ঞাপন আইডি (Advertising ID)-কে সংযুক্ত করে । উপরের প্রথম উদাহরণে, এর অর্থ হবে TABLE-01-এ
account_idকলামটি অন্তর্ভুক্ত না করা।যেসব ব্যবহারকারী বা রোলের অ্যাডভার্টাইজিং আইডি-ভিত্তিক ডেটা এবং ব্যক্তিগত শনাক্তকরণ তথ্য (PII) উভয়টিতেই অ্যাক্সেস আছে, তাদের জন্য অ্যাক্সেস কন্ট্রোল লিস্ট পৃথক করা এবং পর্যবেক্ষণ করা। একই সাথে উভয় উৎস অ্যাক্সেস করার ক্ষমতাকে কঠোরভাবে নিয়ন্ত্রণ ও নিরীক্ষা করার মাধ্যমে (উদাহরণস্বরূপ, টেবিলগুলোর মধ্যে জয়েন করে), আপনি অ্যাডভার্টাইজিং আইডি এবং ব্যক্তিগত শনাক্তকরণ তথ্যের (PII) মধ্যে সংযোগের ঝুঁকি হ্রাস করেন। সাধারণভাবে বলতে গেলে, অ্যাক্সেস নিয়ন্ত্রণ করার অর্থ হলো নিম্নলিখিত কাজগুলো করা:
- বিজ্ঞাপনদাতা আইডি-ভিত্তিক ডেটা এবং ব্যক্তিগত শনাক্তকরণ তথ্যের (PII) জন্য অ্যাক্সেস কন্ট্রোল লিস্ট (ACL) পৃথক রাখুন, যাতে উভয় ACL-এ থাকা ব্যক্তি বা ভূমিকার সংখ্যা ন্যূনতম রাখা যায়।
- এই নিয়মের যেকোনো ব্যতিক্রম শনাক্ত ও পরিচালনা করার জন্য অ্যাক্সেস লগিং এবং অডিটিং বাস্তবায়ন করুন।
অ্যাডভার্টাইজিং আইডি দায়িত্বশীলভাবে ব্যবহার করার বিষয়ে আরও তথ্যের জন্য, AdvertisingIdClient API রেফারেন্সটি দেখুন।
FID এবং GUID নিয়ে কাজ করুন
ডিভাইসে চলমান কোনো অ্যাপ ইনস্ট্যান্স শনাক্ত করার সবচেয়ে সহজ সমাধান হলো ফায়ারবেস ইনস্টলেশন আইডি (FID) ব্যবহার করা, এবং বিজ্ঞাপন-বহির্ভূত বেশিরভাগ ব্যবহারের ক্ষেত্রে এটিই প্রস্তাবিত সমাধান। শুধুমাত্র যে অ্যাপ ইনস্ট্যান্সটির জন্য এটি সরবরাহ করা হয়েছে, সেটিই এই আইডেন্টিফায়ারটি অ্যাক্সেস করতে পারে, এবং এটি (তুলনামূলকভাবে) সহজেই রিসেট করা যায়, কারণ অ্যাপটি ইনস্টল থাকা পর্যন্তই এটি স্থায়ী থাকে।
ফলস্বরূপ, রিসেট-অযোগ্য, ডিভাইস-ভিত্তিক হার্ডওয়্যার আইডির তুলনায় এফআইডি উন্নততর গোপনীয়তা বৈশিষ্ট্য প্রদান করে। আরও তথ্যের জন্য, firebase.installations এপিআই রেফারেন্স দেখুন।
যেসব ক্ষেত্রে FID ব্যবহার করা বাস্তবসম্মত নয়, সেখানে আপনি একটি অ্যাপ ইনস্ট্যান্সকে স্বতন্ত্রভাবে শনাক্ত করার জন্য কাস্টম গ্লোবালি-ইউনিক আইডি (GUID) ব্যবহার করতে পারেন। এটি করার সবচেয়ে সহজ উপায় হলো নিম্নলিখিত কোডটি ব্যবহার করে আপনার নিজস্ব GUID তৈরি করা:
কোটলিন
var uniqueID = UUID.randomUUID().toString()
জাভা
String uniqueID = UUID.randomUUID().toString();
যেহেতু আইডেন্টিফায়ারটি বিশ্বব্যাপী অনন্য, তাই এটি একটি নির্দিষ্ট অ্যাপ ইনস্ট্যান্স শনাক্ত করতে ব্যবহার করা যেতে পারে। বিভিন্ন অ্যাপের মধ্যে আইডেন্টিফায়ার লিঙ্ক করার উদ্বেগ এড়াতে, GUID-গুলো এক্সটার্নাল (শেয়ার্ড) স্টোরেজের পরিবর্তে ইন্টারনাল স্টোরেজে সংরক্ষণ করুন। আরও তথ্যের জন্য, ডেটা এবং ফাইল স্টোরেজ ওভারভিউ পৃষ্ঠাটি দেখুন।
MAC অ্যাড্রেস নিয়ে কাজ করবেন না।
MAC অ্যাড্রেস বিশ্বব্যাপী অনন্য, ব্যবহারকারী দ্বারা রিসেটযোগ্য নয় এবং ফ্যাক্টরি রিসেটের পরেও অক্ষত থাকে। এইসব কারণে, ব্যবহারকারীর গোপনীয়তা রক্ষা করার জন্য, অ্যান্ড্রয়েড সংস্করণ ৬ এবং তার পরবর্তী সংস্করণগুলিতে, MAC অ্যাড্রেসে অ্যাক্সেস শুধুমাত্র সিস্টেম অ্যাপের জন্য সীমাবদ্ধ রাখা হয়েছে। থার্ড-পার্টি অ্যাপগুলো এতে অ্যাক্সেস করতে পারে না।
অ্যান্ড্রয়েড ১১-এ MAC অ্যাড্রেসের প্রাপ্যতার পরিবর্তন
অ্যান্ড্রয়েড ১১ এবং তার পরবর্তী সংস্করণের জন্য তৈরি অ্যাপগুলিতে, পাসপয়েন্ট নেটওয়ার্কের জন্য ম্যাক র্যান্ডমাইজেশন প্রতিটি পাসপয়েন্ট প্রোফাইলের জন্য প্রযোজ্য, যা নিম্নলিখিত ফিল্ডগুলির উপর ভিত্তি করে একটি অনন্য ম্যাক অ্যাড্রেস তৈরি করে:
- সম্পূর্ণ-যোগ্য ডোমেইন নাম (FQDN)
- রাজ্য
- পাসপয়েন্ট প্রোফাইলে ব্যবহৃত ক্রেডেনশিয়ালের উপর ভিত্তি করে ক্রেডেনশিয়াল:
- ব্যবহারকারীর পরিচয়পত্র: ব্যবহারকারীর নাম
- সার্টিফিকেটের পরিচয়পত্র: সার্টিফিকেট এবং সার্টিফিকেটের ধরন
- সিম ক্রেডেনশিয়াল: EAP টাইপ এবং IMSI
এছাড়াও, নন-প্রিভিলেজড অ্যাপগুলো ডিভাইসের MAC অ্যাড্রেস অ্যাক্সেস করতে পারে না; শুধুমাত্র IP অ্যাড্রেসযুক্ত নেটওয়ার্ক ইন্টারফেসগুলোই দেখা যায়। এটি getifaddrs() এবং NetworkInterface.getHardwareAddress() মেথডগুলোর পাশাপাশি RTM_GETLINK নেটলিঙ্ক মেসেজ পাঠানোর ক্ষেত্রেও প্রভাব ফেলে।
এই পরিবর্তনের ফলে অ্যাপগুলো যেভাবে প্রভাবিত হবে, তার একটি তালিকা নিচে দেওয়া হলো:
-
NetworkInterface.getHardwareAddress()প্রতিটি ইন্টারফেসের জন্য null রিটার্ন করে। - অ্যাপগুলি
NETLINK_ROUTEসকেটেbind()ফাংশন ব্যবহার করতে পারে না। -
ipকমান্ড ইন্টারফেস সম্পর্কিত কোনো তথ্য ফেরত দেয় না। - অ্যাপগুলি
RTM_GETLINKবার্তা পাঠাতে পারে না।
উল্লেখ্য যে, বেশিরভাগ ডেভেলপারদের NetworkInterface , getifaddrs() , বা Netlink সকেটের মতো নিম্ন-স্তরের API-এর পরিবর্তে ConnectivityManager এর উচ্চ-স্তরের API ব্যবহার করা উচিত। উদাহরণস্বরূপ, যে অ্যাপের বর্তমান রুট সম্পর্কে হালনাগাদ তথ্যের প্রয়োজন ConnectivityManager.registerNetworkCallback() ব্যবহার করে নেটওয়ার্ক পরিবর্তনের জন্য লিসেন করে এবং নেটওয়ার্কের সংশ্লিষ্ট LinkProperties.getRoutes() কল করার মাধ্যমে এই তথ্য পেতে পারে।
শনাক্তকারী বৈশিষ্ট্য
অ্যান্ড্রয়েড ওএস বিভিন্ন আচরণগত বৈশিষ্ট্য সহ বেশ কিছু আইডি প্রদান করে। আপনার ব্যবহারের ক্ষেত্রে নিম্নলিখিত বৈশিষ্ট্যগুলি কীভাবে কাজ করে, তার উপর নির্ভর করে আপনি কোন আইডিটি ব্যবহার করবেন। তবে, এই বৈশিষ্ট্যগুলির সাথে গোপনীয়তার বিষয়ও জড়িত, তাই এই বৈশিষ্ট্যগুলি একে অপরের সাথে কীভাবে কাজ করে তা বোঝা গুরুত্বপূর্ণ।
পরিধি
আইডেন্টিফায়ার স্কোপ ব্যাখ্যা করে কোন কোন সিস্টেম আইডেন্টিফায়ারটি অ্যাক্সেস করতে পারবে। অ্যান্ড্রয়েড আইডেন্টিফায়ার স্কোপ সাধারণত তিন ধরনের হয়ে থাকে:
- একক অ্যাপ : আইডিটি অ্যাপটির অভ্যন্তরীণ এবং অন্য অ্যাপগুলো এটি অ্যাক্সেস করতে পারে না।
- অ্যাপের গ্রুপ : আইডিটি পূর্ব-নির্ধারিত সম্পর্কিত অ্যাপের একটি গ্রুপের জন্য অ্যাক্সেসযোগ্য।
- ডিভাইস : ডিভাইসে ইনস্টল করা সমস্ত অ্যাপ এই আইডিটি অ্যাক্সেস করতে পারবে।
একটি আইডেন্টিফায়ারকে যত বেশি সুযোগ দেওয়া হয়, ট্র্যাকিংয়ের উদ্দেশ্যে এটি ব্যবহৃত হওয়ার ঝুঁকিও তত বেড়ে যায়। বিপরীতভাবে, যদি একটি আইডেন্টিফায়ার শুধুমাত্র একটি অ্যাপ ইনস্ট্যান্স দ্বারা অ্যাক্সেস করা যায়, তবে এটি বিভিন্ন অ্যাপের লেনদেন জুড়ে একটি ডিভাইস ট্র্যাক করতে ব্যবহার করা যাবে না।
পুনঃস্থাপনযোগ্যতা এবং স্থায়িত্ব
রিসেটেবিলিটি এবং পারসিস্টেন্স একটি আইডেন্টিফায়ারের জীবনকাল নির্ধারণ করে এবং এটি কীভাবে রিসেট করা যেতে পারে তা ব্যাখ্যা করে। সাধারণ রিসেট ট্রিগারগুলোর মধ্যে রয়েছে: অ্যাপের মধ্যে রিসেট, সিস্টেম সেটিংসের মাধ্যমে রিসেট, অ্যাপ চালু করার সময় রিসেট এবং ইনস্টলেশনের সময় রিসেট। অ্যান্ড্রয়েড আইডেন্টিফায়ারগুলোর জীবনকাল বিভিন্ন হতে পারে, কিন্তু এই জীবনকাল সাধারণত আইডিটি কীভাবে রিসেট করা হচ্ছে তার সাথে সম্পর্কিত থাকে।
- শুধুমাত্র সেশন-ভিত্তিক : ব্যবহারকারী প্রতিবার অ্যাপটি পুনরায় চালু করলে একটি নতুন আইডি ব্যবহৃত হয়।
- ইনস্টল-রিসেট : প্রতিবার ব্যবহারকারী অ্যাপটি আনইনস্টল এবং পুনরায় ইনস্টল করলে একটি নতুন আইডি ব্যবহৃত হয়।
- FDR-রিসেট : প্রতিবার ব্যবহারকারী ডিভাইসটি ফ্যাক্টরি-রিসেট করলে একটি নতুন আইডি ব্যবহৃত হয়।
- FDR-persistent : আইডিটি ফ্যাক্টরি রিসেটের পরেও অক্ষত থাকে।
রিসেট করার সুবিধা ব্যবহারকারীদের একটি নতুন আইডি তৈরি করার ক্ষমতা দেয়, যা বিদ্যমান কোনো প্রোফাইল তথ্য থেকে বিচ্ছিন্ন থাকে। একটি শনাক্তকারী যত বেশি সময় ধরে এবং নির্ভরযোগ্যভাবে টিকে থাকে, যেমন ফ্যাক্টরি রিসেটের পরেও যা থেকে যায়, ব্যবহারকারীর দীর্ঘমেয়াদী ট্র্যাকিংয়ের শিকার হওয়ার ঝুঁকি তত বেড়ে যায়। অ্যাপটি পুনরায় ইনস্টল করার সময় যদি শনাক্তকারীটি রিসেট করা হয়, তবে এর স্থায়িত্ব কমে যায় এবং আইডিটি রিসেট করার একটি উপায় তৈরি হয়, এমনকি যদি অ্যাপের ভেতর থেকে বা সিস্টেম সেটিংস থেকে এটি রিসেট করার জন্য ব্যবহারকারীর কোনো সুস্পষ্ট নিয়ন্ত্রণ না-ও থাকে।
অনন্যতা
অনন্যতা সংঘর্ষের সম্ভাবনা প্রতিষ্ঠা করে; অর্থাৎ, সংশ্লিষ্ট পরিসরের মধ্যে অভিন্ন শনাক্তকারীর অস্তিত্ব। সর্বোচ্চ স্তরে, একটি বিশ্বব্যাপী অনন্য শনাক্তকারীর কখনও সংঘর্ষ হয় না, এমনকি অন্য ডিভাইস বা অ্যাপেও। অন্যথায়, অনন্যতার স্তর শনাক্তকারীর এনট্রপি এবং এটি তৈরি করতে ব্যবহৃত র্যান্ডমনেসের উৎসের উপর নির্ভর করে। উদাহরণস্বরূপ, ইনস্টলেশনের ক্যালেন্ডার তারিখ (যেমন 2019-03-01 ) দিয়ে তৈরি র্যান্ডম শনাক্তকারীর ক্ষেত্রে সংঘর্ষের সম্ভাবনা, ইনস্টলেশনের ইউনিক্স টাইমস্ট্যাম্প (যেমন 1551414181 ) দিয়ে তৈরি শনাক্তকারীর চেয়ে অনেক বেশি।
সাধারণভাবে, ব্যবহারকারী অ্যাকাউন্টের শনাক্তকারীগুলোকে অনন্য বলে বিবেচনা করা যেতে পারে। অর্থাৎ, প্রতিটি ডিভাইস/অ্যাকাউন্ট সমন্বয়ের একটি অনন্য আইডি থাকে। অন্যদিকে, কোনো জনগোষ্ঠীর মধ্যে একটি শনাক্তকারী যত কম অনন্য হয়, গোপনীয়তার সুরক্ষা তত বেশি হয়, কারণ এটি কোনো একক ব্যবহারকারীকে ট্র্যাক করার জন্য ততটা কার্যকর থাকে না।
অখণ্ডতা সুরক্ষা এবং অস্বীকৃতিযোগ্যতা
সংশ্লিষ্ট ডিভাইস বা অ্যাকাউন্টের নির্দিষ্ট কিছু বৈশিষ্ট্য আছে, তা প্রমাণ করার জন্য আপনি এমন একটি আইডেন্টিফায়ার ব্যবহার করতে পারেন যা নকল করা বা পুনরায় ব্যবহার করা কঠিন। উদাহরণস্বরূপ, আপনি প্রমাণ করতে পারেন যে ডিভাইসটি কোনো স্প্যামার দ্বারা ব্যবহৃত ভার্চুয়াল ডিভাইস নয়। সহজে নকল করা যায় না এমন আইডেন্টিফায়ারগুলো নন-রিপিউডিয়াবিলিটি বা অস্বীকৃতিহীনতাও প্রদান করে। যদি ডিভাইসটি একটি গোপন কী ব্যবহার করে কোনো মেসেজে স্বাক্ষর করে, তবে অন্য কারো ডিভাইস থেকে মেসেজটি পাঠানো হয়েছে বলে দাবি করা কঠিন হয়ে পড়ে। নন-রিপিউডিয়াবিলিটি এমন একটি বৈশিষ্ট্য হতে পারে যা একজন ব্যবহারকারী চান, যেমন কোনো পেমেন্ট প্রমাণীকরণের সময়; অথবা এটি একটি অনাকাঙ্ক্ষিত বৈশিষ্ট্যও হতে পারে, যেমন যখন তারা এমন কোনো মেসেজ পাঠান যার জন্য তারা অনুতপ্ত হন।
সাধারণ ব্যবহারের ক্ষেত্র এবং ব্যবহারের জন্য উপযুক্ত শনাক্তকারী
এই বিভাগে হার্ডওয়্যার আইডি ব্যবহারের বিকল্প, যেমন IMEI, প্রদান করা হয়েছে। হার্ডওয়্যার আইডি ব্যবহার নিরুৎসাহিত করা হয়, কারণ ব্যবহারকারী সেগুলি রিসেট করতে পারেন না এবং সেগুলি ডিভাইস-কেন্দ্রিক হয়ে থাকে। অনেক ক্ষেত্রে, একটি অ্যাপ-কেন্দ্রিক শনাক্তকারীই যথেষ্ট হবে।
অ্যাকাউন্ট
বাহক অবস্থা
এক্ষেত্রে, আপনার অ্যাপটি একটি ক্যারিয়ার অ্যাকাউন্ট ব্যবহার করে ডিভাইসটির ফোন ও টেক্সটিং কার্যকারিতার সাথে যোগাযোগ করে।
ব্যবহারের জন্য প্রস্তাবিত শনাক্তকারী: IMEI, IMSI, এবং Line1
এই সুপারিশের কারণ কী?
ক্যারিয়ার-সম্পর্কিত কার্যকারিতার জন্য প্রয়োজন হলে হার্ডওয়্যার আইডেন্টিফায়ার ব্যবহার করা গ্রহণযোগ্য। উদাহরণস্বরূপ, আপনি এই আইডেন্টিফায়ারগুলো ব্যবহার করে সেলুলার ক্যারিয়ার বা সিম স্লট পরিবর্তন করতে পারেন, অথবা আইপি-এর মাধ্যমে এসএমএস পাঠাতে পারেন (লাইন১-এর জন্য) – এগুলো সিম-ভিত্তিক ব্যবহারকারী অ্যাকাউন্ট। তবে, বিশেষাধিকারবিহীন অ্যাপের জন্য, আমরা সার্ভার-সাইড থেকে ব্যবহারকারীর ডিভাইসের তথ্য সংগ্রহের জন্য অ্যাকাউন্ট সাইন-ইন ব্যবহার করার পরামর্শ দিই। এর একটি কারণ হলো, অ্যান্ড্রয়েড ৬.০ (এপিআই লেভেল ২৩) এবং এর পরবর্তী সংস্করণগুলোতে এই আইডেন্টিফায়ারগুলো শুধুমাত্র একটি রানটাইম পারমিশনের মাধ্যমে ব্যবহার করা যায়। ব্যবহারকারীরা এই পারমিশনটি বন্ধ করে দিতে পারেন, তাই আপনার অ্যাপের উচিত এই ব্যতিক্রমগুলো সুষ্ঠুভাবে সামাল দেওয়া।
মোবাইল সাবস্ক্রিপশন স্ট্যাটাস
এক্ষেত্রে, আপনাকে ডিভাইসের নির্দিষ্ট মোবাইল পরিষেবা সাবস্ক্রিপশনের সাথে অ্যাপের কার্যকারিতা যুক্ত করতে হবে। উদাহরণস্বরূপ, সিমের মাধ্যমে ডিভাইসের মোবাইল সাবস্ক্রিপশনের উপর ভিত্তি করে নির্দিষ্ট প্রিমিয়াম অ্যাপ ফিচারগুলিতে অ্যাক্সেস যাচাই করার প্রয়োজন হতে পারে।
ডিভাইসে ব্যবহৃত সিমগুলো শনাক্ত করার জন্য প্রস্তাবিত শনাক্তকারী: সাবস্ক্রিপশন আইডি এপিআই ।
সাবস্ক্রিপশন আইডি ডিভাইসে ব্যবহৃত ইনস্টল করা সিমগুলোকে (ভৌত এবং ইলেকট্রনিক উভয়ই) স্বতন্ত্রভাবে শনাক্ত করার জন্য একটি সূচক মান (১ থেকে শুরু) প্রদান করে। এই আইডির মাধ্যমে, আপনার অ্যাপ একটি নির্দিষ্ট সিমের বিভিন্ন সাবস্ক্রিপশন তথ্যের সাথে তার কার্যকারিতা সংযুক্ত করতে পারে। ডিভাইসটি ফ্যাক্টরি রিসেট না করা পর্যন্ত একটি নির্দিষ্ট সিমের জন্য এই মানটি স্থিতিশীল থাকে। তবে, এমনও হতে পারে যে একই সিমের বিভিন্ন ডিভাইসে ভিন্ন ভিন্ন সাবস্ক্রিপশন আইডি রয়েছে অথবা বিভিন্ন ডিভাইসে ভিন্ন ভিন্ন সিমের একই আইডি রয়েছে।
এই সুপারিশের কারণ কী?
কিছু অ্যাপ বর্তমানে এই উদ্দেশ্যে আইসিসি আইডি (ICC ID) ব্যবহার করে থাকতে পারে। যেহেতু আইসিসি আইডি বিশ্বব্যাপী অনন্য এবং রিসেটযোগ্য নয়, তাই অ্যান্ড্রয়েড ১০ থেকে READ_PRIVILEGED_PHONE_STATE পারমিশনযুক্ত অ্যাপগুলোর জন্য এর অ্যাক্সেস সীমাবদ্ধ করা হয়েছে। অ্যান্ড্রয়েড ১১ থেকে, অ্যান্ড্রয়েড অ্যাপের টার্গেট এপিআই লেভেল নির্বিশেষে getIccId() এপিআই-এর মাধ্যমে আইসিসি আইডি-তে অ্যাক্সেস আরও সীমাবদ্ধ করেছে। প্রভাবিত অ্যাপগুলোর পরিবর্তে সাবস্ক্রিপশন আইডি ব্যবহার করা উচিত।
একক সাইন-অন
এক্ষেত্রে, আপনার অ্যাপটি একটি সিঙ্গেল সাইন-অন অভিজ্ঞতা প্রদান করে, যার মাধ্যমে ব্যবহারকারীরা তাদের বিদ্যমান অ্যাকাউন্টকে আপনার প্রতিষ্ঠানের সাথে যুক্ত করতে পারেন।
ব্যবহারের জন্য প্রস্তাবিত শনাক্তকারী: অ্যাকাউন্ট ম্যানেজার-সামঞ্জস্যপূর্ণ অ্যাকাউন্ট, যেমন গুগল অ্যাকাউন্ট লিঙ্কিং।
এই সুপারিশের কারণ কী?
গুগল অ্যাকাউন্ট লিঙ্কিং ব্যবহারকারীদের তাদের বিদ্যমান গুগল অ্যাকাউন্ট আপনার অ্যাপের সাথে যুক্ত করার সুযোগ দেয়, যার ফলে আপনার প্রতিষ্ঠানের পণ্য ও পরিষেবাগুলিতে নির্বিঘ্ন এবং আরও সুরক্ষিত অ্যাক্সেস পাওয়া যায়। এছাড়াও, আপনি শুধুমাত্র প্রয়োজনীয় ডেটা শেয়ার করার জন্য কাস্টম OAuth স্কোপ নির্ধারণ করতে পারেন, যা ব্যবহারকারীর ডেটা কীভাবে ব্যবহার করা হচ্ছে তা স্পষ্টভাবে সংজ্ঞায়িত করে তাদের আস্থা বাড়ায়।
বিজ্ঞাপন
লক্ষ্য নির্ধারণ
এক্ষেত্রে, আপনার অ্যাপ ব্যবহারকারীকে আরও প্রাসঙ্গিক বিজ্ঞাপন দেখানোর জন্য তার আগ্রহের একটি প্রোফাইল তৈরি করে।
ব্যবহারের জন্য প্রস্তাবিত শনাক্তকারী: যদি আপনার অ্যাপ বিজ্ঞাপনের জন্য কোনো আইডি ব্যবহার করে এবং গুগল প্লে-তে আপলোড বা প্রকাশ করে, তাহলে সেই আইডিটি অবশ্যই অ্যাডভার্টাইজিং আইডি হতে হবে।
এই সুপারিশের কারণ কী?
এটি একটি বিজ্ঞাপন-সম্পর্কিত ব্যবহারের ক্ষেত্র, যার জন্য এমন একটি আইডির প্রয়োজন হতে পারে যা আপনার প্রতিষ্ঠানের বিভিন্ন অ্যাপ জুড়ে উপলব্ধ থাকে, তাই অ্যাডভার্টাইজিং আইডি ব্যবহার করাই সবচেয়ে উপযুক্ত সমাধান। গুগল প্লে ডেভেলপার কন্টেন্ট পলিসি অনুসারে, বিজ্ঞাপনের ব্যবহারের ক্ষেত্রগুলিতে অ্যাডভার্টাইজিং আইডি ব্যবহার করা বাধ্যতামূলক, কারণ ব্যবহারকারী এটি রিসেট করতে পারেন।
আপনি আপনার অ্যাপে ব্যবহারকারীর ডেটা শেয়ার করুন বা না করুন, যদি আপনি বিজ্ঞাপনের উদ্দেশ্যে তা সংগ্রহ ও ব্যবহার করেন, তাহলে আপনাকে প্লে কনসোলের অ্যাপ কন্টেন্ট পেজের ডেটা সুরক্ষা বিভাগে বিজ্ঞাপনের উদ্দেশ্যগুলো ঘোষণা করতে হবে।
পরিমাপ
এক্ষেত্রে, আপনার অ্যাপটি একই ডিভাইসে আপনার প্রতিষ্ঠানের বিভিন্ন অ্যাপে একজন ব্যবহারকারীর কার্যকলাপের উপর ভিত্তি করে তার একটি প্রোফাইল তৈরি করে।
ব্যবহারের জন্য প্রস্তাবিত শনাক্তকারী: বিজ্ঞাপন আইডি অথবা প্লে ইনস্টল রেফারার এপিআই
এই সুপারিশের কারণ কী?
এটি একটি বিজ্ঞাপন-সম্পর্কিত ব্যবহারের ক্ষেত্র, যার জন্য এমন একটি আইডির প্রয়োজন হতে পারে যা আপনার প্রতিষ্ঠানের বিভিন্ন অ্যাপ জুড়ে উপলব্ধ থাকে, তাই অ্যাডভার্টাইজিং আইডি ব্যবহার করাই সবচেয়ে উপযুক্ত সমাধান। আপনি যদি বিজ্ঞাপনের ব্যবহারের ক্ষেত্রে কোনো আইডি ব্যবহার করেন, তবে সেই আইডিটি অবশ্যই অ্যাডভার্টাইজিং আইডি হতে হবে, কারণ ব্যবহারকারী এটি রিসেট করতে পারেন। গুগল প্লে ডেভেলপার কন্টেন্ট পলিসি- তে এ বিষয়ে আরও জানুন।
রূপান্তর
এক্ষেত্রে, আপনার মার্কেটিং কৌশলটি সফল কিনা তা শনাক্ত করতে আপনি কনভার্সন ট্র্যাক করছেন।
ব্যবহারের জন্য প্রস্তাবিত শনাক্তকারী: বিজ্ঞাপন আইডি অথবা প্লে ইনস্টল রেফারার এপিআই
এই সুপারিশের কারণ কী?
এটি একটি বিজ্ঞাপন-সম্পর্কিত ব্যবহারের ক্ষেত্র, যার জন্য এমন একটি আইডির প্রয়োজন হতে পারে যা আপনার প্রতিষ্ঠানের বিভিন্ন অ্যাপ জুড়ে উপলব্ধ থাকে, তাই অ্যাডভার্টাইজিং আইডি ব্যবহার করাই সবচেয়ে উপযুক্ত সমাধান। গুগল প্লে ডেভেলপার কন্টেন্ট পলিসি অনুসারে, বিজ্ঞাপনের ব্যবহারের ক্ষেত্রগুলিতে অ্যাডভার্টাইজিং আইডি ব্যবহার করা বাধ্যতামূলক, কারণ ব্যবহারকারী এটি রিসেট করতে পারেন।
পুনঃবিপণন
এক্ষেত্রে, আপনার অ্যাপটি ব্যবহারকারীর পূর্ববর্তী আগ্রহের ওপর ভিত্তি করে বিজ্ঞাপন দেখায়।
ব্যবহারের জন্য প্রস্তাবিত শনাক্তকারী: বিজ্ঞাপন আইডি
এই সুপারিশের কারণ কী?
এটি একটি বিজ্ঞাপন-সম্পর্কিত ব্যবহারের ক্ষেত্র, যার জন্য এমন একটি আইডির প্রয়োজন হতে পারে যা আপনার প্রতিষ্ঠানের বিভিন্ন অ্যাপ জুড়ে উপলব্ধ থাকে, তাই অ্যাডভার্টাইজিং আইডি ব্যবহার করাই সবচেয়ে উপযুক্ত সমাধান। গুগল প্লে ডেভেলপার কন্টেন্ট পলিসি অনুসারে, বিজ্ঞাপনের ব্যবহারের ক্ষেত্রগুলিতে অ্যাডভার্টাইজিং আইডি ব্যবহার করা বাধ্যতামূলক, কারণ ব্যবহারকারী এটি রিসেট করতে পারেন।
অ্যাপ অ্যানালিটিক্স
এক্ষেত্রে, আপনার অ্যাপ একজন ব্যবহারকারীর আচরণ মূল্যায়ন করে আপনাকে নিম্নলিখিত বিষয়গুলো নির্ধারণ করতে সাহায্য করে:
- আপনার প্রতিষ্ঠানের অন্য কোন পণ্য বা অ্যাপ ব্যবহারকারীর জন্য উপযুক্ত হতে পারে?
- কীভাবে ব্যবহারকারীদের আপনার অ্যাপ ব্যবহারে আগ্রহী রাখা যায়
- সাইন-আউট করা বা বেনামী ব্যবহারকারীদের ব্যবহারের পরিসংখ্যান ও বিশ্লেষণ পরিমাপ করুন।
সম্ভাব্য সমাধানগুলোর মধ্যে রয়েছে:
- অ্যাপ সেট আইডি: একটি অ্যাপ সেট আইডি আপনাকে আপনার প্রতিষ্ঠানের মালিকানাধীন একাধিক অ্যাপ জুড়ে একজন ব্যবহারকারীর আচরণ বিশ্লেষণ করার সুযোগ দেয়, তবে শর্ত থাকে যে আপনি ব্যবহারকারীর ডেটা বিজ্ঞাপনের উদ্দেশ্যে ব্যবহার করবেন না। আপনি যদি গুগল প্লে পরিষেবা দ্বারা চালিত ডিভাইসগুলোকে টার্গেট করেন, তাহলে আমরা আপনাকে অ্যাপ সেট আইডি ব্যবহার করার পরামর্শ দিই।
- ফায়ারবেস আইডি (FID): একটি FID শুধুমাত্র সেই অ্যাপের মধ্যেই সীমাবদ্ধ থাকে যা এটি তৈরি করে, ফলে এই আইডেন্টিফায়ারটি বিভিন্ন অ্যাপ জুড়ে ব্যবহারকারীদের ট্র্যাক করতে পারে না। এটি সহজেই রিসেট করা যায়, কারণ ব্যবহারকারী অ্যাপের ডেটা মুছে ফেলতে বা অ্যাপটি পুনরায় ইনস্টল করতে পারেন। একটি FID তৈরি করার প্রক্রিয়াটি খুবই সহজ; ফায়ারবেস ইনস্টলেশন গাইডটি দেখুন।
অ্যাপ ডেভেলপমেন্ট
দুর্ঘটনা প্রতিবেদন
এক্ষেত্রে, আপনার অ্যাপটি ব্যবহারকারীর ডিভাইসগুলোতে কখন এবং কেন ক্র্যাশ করে, সেই সংক্রান্ত ডেটা সংগ্রহ করে।
ব্যবহারের জন্য প্রস্তাবিত শনাক্তকারী: FID অথবা অ্যাপ সেট আইডি
এই সুপারিশের কারণ কী?
একটি FID শুধুমাত্র সেই অ্যাপের মধ্যেই সীমাবদ্ধ থাকে যা এটি তৈরি করে, ফলে এই আইডেন্টিফায়ারটি বিভিন্ন অ্যাপ জুড়ে ব্যবহারকারীদের ট্র্যাক করতে পারে না। এটি সহজেই রিসেট করা যায়, কারণ ব্যবহারকারী অ্যাপের ডেটা মুছে ফেলতে বা অ্যাপটি পুনরায় ইনস্টল করতে পারেন। একটি FID তৈরি করার প্রক্রিয়াটি খুবই সহজ; ফায়ারবেস ইনস্টলেশন গাইড দেখুন। একটি অ্যাপ সেট আইডি আপনাকে আপনার প্রতিষ্ঠানের মালিকানাধীন একাধিক অ্যাপ জুড়ে একজন ব্যবহারকারীর আচরণ বিশ্লেষণ করার সুযোগ দেয়, যতক্ষণ পর্যন্ত আপনি বিজ্ঞাপনের উদ্দেশ্যে ব্যবহারকারীর ডেটা ব্যবহার না করেন।
কর্মক্ষমতা প্রতিবেদন
এক্ষেত্রে, আপনার অ্যাপের মান উন্নত করতে সাহায্য করার জন্য এটি লোড টাইম এবং ব্যাটারি ব্যবহারের মতো পারফরম্যান্স মেট্রিক সংগ্রহ করে।
ব্যবহারের জন্য প্রস্তাবিত শনাক্তকারী: ফায়ারবেস পারফরম্যান্স মনিটরিং
এই সুপারিশের কারণ কী?
ফায়ারবেস পারফরম্যান্স মনিটরিং আপনাকে সবচেয়ে গুরুত্বপূর্ণ মেট্রিকগুলোর উপর মনোযোগ দিতে এবং আপনার অ্যাপে সাম্প্রতিক কোনো পরিবর্তনের প্রভাব পরীক্ষা করতে সাহায্য করে।
অ্যাপ টেস্টিং
এক্ষেত্রে, আপনার অ্যাপটি টেস্টিং বা ডিবাগিংয়ের উদ্দেশ্যে কোনো ব্যবহারকারীর অভিজ্ঞতা মূল্যায়ন করে।
ব্যবহারের জন্য প্রস্তাবিত শনাক্তকারী: FID অথবা অ্যাপ সেট আইডি
এই সুপারিশের কারণ কী?
একটি FID শুধুমাত্র সেই অ্যাপের মধ্যেই সীমাবদ্ধ থাকে যা এটি তৈরি করে, ফলে এই আইডেন্টিফায়ারটি বিভিন্ন অ্যাপ জুড়ে ব্যবহারকারীদের ট্র্যাক করতে পারে না। এটি সহজেই রিসেট করা যায়, কারণ ব্যবহারকারী অ্যাপের ডেটা মুছে ফেলতে বা অ্যাপটি পুনরায় ইনস্টল করতে পারেন। একটি FID তৈরি করার প্রক্রিয়াটি খুবই সহজ; ফায়ারবেস ইনস্টলেশন গাইড দেখুন। একটি অ্যাপ সেট আইডি আপনাকে আপনার প্রতিষ্ঠানের মালিকানাধীন একাধিক অ্যাপ জুড়ে একজন ব্যবহারকারীর আচরণ বিশ্লেষণ করার সুযোগ দেয়, যতক্ষণ পর্যন্ত আপনি বিজ্ঞাপনের উদ্দেশ্যে ব্যবহারকারীর ডেটা ব্যবহার না করেন।
ক্রস-ডিভাইস ইনস্টলেশন
এক্ষেত্রে, একই ব্যবহারকারীর জন্য একাধিক ডিভাইসে অ্যাপটি ইনস্টল করা থাকলে, আপনার অ্যাপটিকে সেটির সঠিক সংস্করণটি শনাক্ত করতে হবে।
ব্যবহারের জন্য প্রস্তাবিত শনাক্তকারী: FID বা GUID
এই সুপারিশের কারণ কী?
একটি FID বিশেষভাবে এই উদ্দেশ্যেই তৈরি করা হয়; এর পরিধি অ্যাপের মধ্যেই সীমাবদ্ধ থাকে, ফলে এটি ব্যবহার করে বিভিন্ন অ্যাপে ব্যবহারকারীদের ট্র্যাক করা যায় না এবং অ্যাপটি পুনরায় ইনস্টল করলে এটি রিসেট হয়ে যায়। বিরল ক্ষেত্রে যেখানে একটি FID যথেষ্ট নয়, সেখানে আপনি একটি GUID-ও ব্যবহার করতে পারেন।
নিরাপত্তা
অপব্যবহার সনাক্তকরণ
এক্ষেত্রে, আপনি আপনার ব্যাকএন্ড পরিষেবাগুলিতে আক্রমণকারী একাধিক নকল ডিভাইস শনাক্ত করার চেষ্টা করছেন।
ব্যবহারের জন্য প্রস্তাবিত শনাক্তকারী: গুগল প্লে ইন্টিগ্রিটি এপিআই ইন্টিগ্রিটি টোকেন
এই সুপারিশের কারণ কী?
কোনো অনুরোধ এমুলেটর বা অন্য কোনো ডিভাইস নকলকারী কোড থেকে নয়, বরং একটি আসল অ্যান্ড্রয়েড ডিভাইস থেকে আসছে কিনা তা যাচাই করতে Google Play Integrity API ব্যবহার করুন।
বিজ্ঞাপন জালিয়াতি
এক্ষেত্রে, আপনার অ্যাপটি যাচাই করে দেখে যে, আপনার অ্যাপে একজন ব্যবহারকারীর মতামত ও কার্যকলাপগুলো প্রকৃত এবং যাচাইযোগ্য কি না।
ব্যবহারের জন্য প্রস্তাবিত শনাক্তকারী: বিজ্ঞাপন আইডি
এই সুপারিশের কারণ কী?
গুগল প্লে ডেভেলপার কন্টেন্ট পলিসি অনুযায়ী, বিজ্ঞাপনের ক্ষেত্রে অ্যাডভার্টাইজিং আইডি ব্যবহার করা বাধ্যতামূলক, কারণ ব্যবহারকারী এটি রিসেট করতে পারেন।
ডিজিটাল অধিকার ব্যবস্থাপনা (ডিআরএম)
এক্ষেত্রে, আপনার অ্যাপটি মেধাস্বত্ব বা অর্থপ্রদত্ত সামগ্রীতে প্রতারণামূলক প্রবেশাধিকার থেকে সুরক্ষা দিতে চায়।
ব্যবহারের জন্য প্রস্তাবিত আইডেন্টিফায়ার: একটি FID বা GUID ব্যবহার করলে কন্টেন্টের সীমাবদ্ধতা এড়ানোর জন্য ব্যবহারকারীকে অ্যাপটি পুনরায় ইনস্টল করতে হয়, যা বেশিরভাগ মানুষকে নিরুৎসাহিত করার জন্য যথেষ্ট একটি বোঝা। যদি এটি যথেষ্ট সুরক্ষা না হয়, তবে অ্যান্ড্রয়েড একটি DRM API প্রদান করে, যা কন্টেন্টে অ্যাক্সেস সীমিত করতে ব্যবহার করা যেতে পারে এবং এতে প্রতিটি APK-এর জন্য একটি আইডেন্টিফায়ার, অর্থাৎ Widevine ID অন্তর্ভুক্ত থাকে।
ব্যবহারকারীর পছন্দ
এক্ষেত্রে, আপনার অ্যাপ প্রতিটি ডিভাইসের জন্য ব্যবহারকারীর অবস্থা সংরক্ষণ করে, বিশেষ করে সেইসব ব্যবহারকারীদের জন্য যারা সাইন ইন করেননি। আপনি এই অবস্থাটি একই ডিভাইসে একই কী দিয়ে সাইন করা অন্য কোনো অ্যাপে স্থানান্তর করতে পারেন।
ব্যবহারের জন্য প্রস্তাবিত শনাক্তকারী: FID বা GUID
এই সুপারিশের কারণ কী?
পুনরায় ইনস্টল করার মাধ্যমে তথ্য সংরক্ষণ করার পরামর্শ দেওয়া হয় না, কারণ ব্যবহারকারীরা অ্যাপটি পুনরায় ইনস্টল করে তাদের পছন্দগুলি রিসেট করতে চাইতে পারেন।