সর্বশেষ হালনাগাদ: ২০২৬-০৩-২০
একটি মানসম্মত অ্যাপের মজবুত ভিত্তি তৈরির জন্য, অ্যাপের গুণমান সংক্রান্ত মূল নির্দেশিকাগুলো অনুসরণ করুন।
এই নির্দেশিকাগুলো সেই ন্যূনতম গুণমান নির্ধারণ করে যা সকল অ্যাপের পূরণ করা উচিত।
অভিযোজিত অ্যাপের গুণমান
অ্যান্ড্রয়েড অ্যাপগুলো ছোট ফোন থেকে শুরু করে ট্যাবলেট, ফোল্ডেবল, ডেস্কটপ, কানেক্টেড ডিসপ্লে, গাড়ির ইনফোটেইনমেন্ট সিস্টেম, টিভি এবং এক্সআর-এর মতো বিভিন্ন ধরনের ডিভাইসে চলে। স্প্লিট-স্ক্রিন এবং ডেস্কটপ উইন্ডোয়িং-এর মতো উইন্ডোয়িং মোডগুলো অ্যাপগুলোকে স্ক্রিনের আকার পরিবর্তনযোগ্য অংশে চালানোর সুযোগ দেয়।
মূল অ্যাপ গুণমান নির্দেশিকার পাশাপাশি অভিযোজিত অ্যাপ গুণমান নির্দেশিকা অনুসরণ করুন—যাতে:
- সকল ফর্ম ফ্যাক্টর এবং ডিসপ্লে সাইজের জন্য অপ্টিমাইজ করা অ্যাপ তৈরি করুন
- গুগল প্লে লিস্টিং এবং সার্চে আপনার অ্যাপগুলোকে উচ্চতর র্যাঙ্ক দিন।
- আরও বেশি ব্যবহারকারী অর্জন করুন এবং ব্যবহারকারী ধরে রাখার হার বৃদ্ধি করুন।
নির্দেশিকা
নিম্নলিখিত মূল নির্দেশিকাগুলো আপনাকে একটি মৌলিক ও উন্নত মানের অ্যাপ তৈরি করতে সাহায্য করবে।
ব্যবহারকারীর অভিজ্ঞতা
একটি সামঞ্জস্যপূর্ণ এবং স্বজ্ঞাত ব্যবহারকারীর অভিজ্ঞতার জন্য আপনার অ্যাপটিতে স্ট্যান্ডার্ড অ্যান্ড্রয়েড ভিজ্যুয়াল ডিজাইন এবং ইন্টারঅ্যাকশন প্যাটার্ন থাকা উচিত।
সম্ভব হলে অ্যান্ড্রয়েড প্ল্যাটফর্ম কম্পোনেন্টের পরিবর্তে আপনার অ্যাপের ইউজার ইন্টারফেস তৈরি করতে ম্যাটেরিয়াল ডিজাইন কম্পোনেন্ট ব্যবহার করুন। ম্যাটেরিয়াল ডিজাইন একটি আধুনিক অ্যান্ড্রয়েড লুক ও ফিল প্রদান করে এবং বিভিন্ন অ্যান্ড্রয়েড ভার্সনে UI সামঞ্জস্য বজায় রাখে।
| আইডি | পরীক্ষা | বর্ণনা |
|---|---|---|
| ব্যবহারযোগ্যতা | ||
| ব্যবহারযোগ্যতা: ইউএক্স | টি-ব্যবহারযোগ্যতা:কোর , টি-এসডি-কার্ড | অ্যাপটি সকল ফর্ম ফ্যাক্টরে এবং সকল ব্যবহারের ক্ষেত্রে একটি সামঞ্জস্যপূর্ণ ব্যবহারকারীর অভিজ্ঞতা প্রদান করে। |
| ব্যবহারযোগ্যতা: সুইচার | T-ব্যবহারযোগ্যতা:সুইচার টি-এসডি-কার্ড | অন্য কোনো অ্যাপে ফোকাস চলে গেলে অ্যাপটি ব্যাকগ্রাউন্ডে চলে যায়। রিসেন্টস অ্যাপ সুইচার থেকে পুনরায় সক্রিয় করা হলে অ্যাপটি ফোরগ্রাউন্ডে ফিরে আসে। |
| ব্যবহারযোগ্যতা: ঘুম | T-ব্যবহারযোগ্যতা: ঘুম , টি-এসডি-কার্ড | অ্যাপটি যখন ফোরগ্রাউন্ড অ্যাপ থাকে, তখন ডিভাইস স্লিপ মোডে গেলে এটি থেমে যায় এবং ডিভাইস জেগে উঠলে আবার চালু হয়। |
| ব্যবহারযোগ্যতা: লক | T-ব্যবহারযোগ্যতা:লক , টি-এসডি-কার্ড | অ্যাপটি যখন ফোরগ্রাউন্ড অ্যাপ থাকে, তখন ডিভাইস লক করা হলে এটি থেমে যায় এবং ডিভাইস আনলক করা হলে আবার চালু হয়। |
| ব্যবহারকারী ইন্টারফেস | ||
| UI:প্যারিটি | টি-ইউআই: ট্রানজিশন | ডিসপ্লের অভিমুখ এবং ভাঁজের অবস্থা মূলত একই বৈশিষ্ট্য ও ক্রিয়াকলাপ প্রকাশ করে এবং কার্যকারিতার সমতা বজায় রাখে। |
| UI:পূর্ণস্ক্রিন | টি-ইউআই: ট্রানজিশন | ডিভাইস ভাঁজ করা ও খোলাসহ কনফিগারেশন পরিবর্তনের কারণে, অ্যাপটি উভয় অবস্থানেই অ্যাপ উইন্ডোটি সম্পূর্ণভাবে পূরণ করে এবং লেটারবক্সড হয় না। স্ক্রিনের জ্যামিতিক সামান্য তারতম্যের জন্য করা সামান্য লেটারবক্সিং গ্রহণযোগ্য। |
| UI:ট্রানজিশন | টি-ইউআই: ট্রানজিশন | অ্যাপটি কোনো ডিসপ্লে রেন্ডারিং সমস্যা ছাড়াই এবং স্টেট না হারিয়ে ডিসপ্লে ওরিয়েন্টেশনের মধ্যে দ্রুত পরিবর্তন এবং ডিভাইস ভাঁজ করা ও খোলা সামলাতে পারে। |
| ভিজ্যুয়াল গুণমান | ||
| ভিজ্যুয়াল: প্রদর্শন | টি-ভিজ্যুয়াল: ডিসপ্লে | অ্যাপটি গ্রাফিক্স, টেক্সট, ছবি এবং অন্যান্য ইউআই এলিমেন্টগুলো কোনো লক্ষণীয় বিকৃতি, ঝাপসাভাব বা পিক্সেলেশন ছাড়াই প্রদর্শন করে।
|
| চাক্ষুষ: পাঠযোগ্যতা | টি-ভিজ্যুয়াল: পঠনযোগ্যতা | অ্যাপটি তার সমর্থিত প্রতিটি ভাষার জন্য লাইনের দৈর্ঘ্য ৪৫-৭৫ অক্ষরের (স্পেস সহ) মধ্যে সীমাবদ্ধ রেখে লেখা এবং টেক্সট ব্লকের পাঠযোগ্যতা নিশ্চিত করে। |
| ভিজ্যুয়াল: থিম | টি-ভিজ্যুয়াল: থিম | অ্যাপটির বিষয়বস্তু এবং অ্যাপটির মাধ্যমে অ্যাক্সেস করা সমস্ত ওয়েব বিষয়বস্তু লাইট ও ডার্ক উভয় থিমই সমর্থন করে। |
| নেভিগেশন | ||
| নেভিগেশন:ব্যাকবাটন | টি-ন্যাভ: ফিরে যান | অ্যাপটি সাধারণ ব্যাক বাটন নেভিগেশন সমর্থন করে এবং কোনো কাস্টম, অনস্ক্রিন ব্যাক বাটন প্রম্পট ব্যবহার করে না। |
| নেভিগেশন:পিছনের অঙ্গভঙ্গি | টি-ন্যাভ: ফিরে যান | অ্যাপটিতে পিছনে যেতে এবং হোম স্ক্রিনে ফিরে যাওয়ার জন্য জেসচার নেভিগেশনের সুবিধা রয়েছে। |
| নেভ:রাজ্য | টি-ন্যাভ: স্টেট , টি-ন্যাভ: ফিরে যান | অ্যাপটি ফোরগ্রাউন্ড থেকে সরে গেলেও ব্যবহারকারী বা অ্যাপের অবস্থা সংরক্ষণ করে এবং ব্যাক নেভিগেশন ও অন্যান্য অবস্থা পরিবর্তনের কারণে দুর্ঘটনাবশত ডেটা নষ্ট হওয়া প্রতিরোধ করে। ফোরগ্রাউন্ডে ফিরে আসার সময়, অ্যাপটি সংরক্ষিত অবস্থা এবং যেকোনো মুলতুবি থাকা স্টেটফুল ট্রানজ্যাকশন পুনরুদ্ধার করে। এর উদাহরণগুলির মধ্যে রয়েছে সম্পাদনাযোগ্য ফিল্ডের পরিবর্তন, গেমের অগ্রগতি, মেনু, ভিডিও এবং অ্যাপের অন্যান্য অংশ।
|
| বিজ্ঞপ্তি | ||
| বিজ্ঞপ্তি: তথ্য | টি-নোটিফাই:তথ্য | নোটিফিকেশন আপনার অ্যাপ সম্পর্কিত প্রাসঙ্গিক তথ্য প্রদান করে।
|
| বিজ্ঞপ্তি: বার্তা | টি-নোটিফাই:তথ্য | মেসেজিং অ্যাপ, সোশ্যাল অ্যাপ এবং কথোপকথনের জন্য:
|
| প্রবেশগম্যতা | ||
| অ্যাক্সেস:লক্ষ্য | টি-অ্যাক্সেস: টার্গেট | টাচ টার্গেটগুলোর রেজোলিউশন কমপক্ষে ৪৮ ডিপি হতে হবে। ম্যাটেরিয়াল ডিজাইন লেআউট এবং টাইপোগ্রাফি নির্দেশিকা দেখুন। |
| প্রবেশাধিকার: বৈসাদৃশ্য | টি-অ্যাক্সেস: কনট্রাস্ট | অ্যাপের টেক্সট এবং ফোরগ্রাউন্ড কন্টেন্ট অ্যাপের ব্যাকগ্রাউন্ডের সাথে নিম্নলিখিত কনট্রাস্ট অনুপাত বজায় রাখে:
রঙ এবং বৈসাদৃশ্য সম্পর্কে আরও জানুন। |
| অ্যাক্সেস: বিবরণ | টি-অ্যাক্সেস: বিবরণ | TextView ছাড়া প্রতিটি UI এলিমেন্টের বর্ণনা contentDescription ব্যবহার করে দিন। |
কার্যকারিতা
আপনার অ্যাপে নিম্নলিখিত কার্যকরী আচরণগুলো বাস্তবায়ন করতে হবে।
| আইডি | পরীক্ষা | বর্ণনা |
|---|---|---|
| অডিও | ||
| অডিও: ইনিট | টি-অডিও:ইনিট | যখন ব্যবহারকারী অডিও প্লেব্যাক শুরু করবেন, তখন অ্যাপটিকে এক সেকেন্ডের মধ্যে নিম্নলিখিত কাজগুলোর মধ্যে যেকোনো একটি করতে হবে:
|
| অডিও: ফোকাস | টি-অডিও:ফোকাস | অডিও বাজতে শুরু করলে অ্যাপটি অডিও ফোকাস চাইবে এবং প্লেব্যাক বন্ধ হলে ফোকাস ছেড়ে দেবে। |
| অডিও: বাধা | টি-অডিও: বাধা | অ্যাপটির উচিত অন্যান্য অ্যাপের অডিও ফোকাসের অনুরোধগুলো সামলানো । উদাহরণস্বরূপ, অন্য কোনো অ্যাপ কথা বললে একটি অ্যাপ তার প্লেব্যাকের ভলিউম কমিয়ে দিতে পারে। |
| অডিও: পটভূমি | টি-অডিও: পটভূমি | অ্যাপটিতে ব্যাকগ্রাউন্ড প্লেব্যাকের সুবিধা থাকা উচিত। |
| অডিও: বিজ্ঞপ্তি | টি-অডিও: বিজ্ঞপ্তি | যখন অ্যাপটি ব্যাকগ্রাউন্ডে অডিও প্লে করে, তখন অ্যাপটিকে অবশ্যই MediaStyle দিয়ে স্টাইল করা একটি নোটিফিকেশন তৈরি করতে হবে। |
| অডিও:রিজিউম | টি-অডিও:রিজিউম | অ্যাপটি ব্যাকগ্রাউন্ডে থাকলে এবং অডিও পজ করা থাকলে, অ্যাপটি ফোরগ্রাউন্ডে ফিরে এলে অডিও পুনরায় চালু হবে, অথবা অ্যাপটিকে অবশ্যই ব্যবহারকারীকে জানাতে হবে যে প্লেব্যাক পজ করা অবস্থায় আছে। |
| ভিডিও | ||
| ভিডিও: পিআইপি | টি-ভিডিও:পিআইপি | অ্যাপটি যদি ভিডিও প্লে করে, তবে এতে পিকচার-ইন-পিকচার প্লেব্যাক সাপোর্ট থাকা উচিত। |
| ভিডিও: এনকোডিং | টি-ভিডিও: এনকোডিং | অ্যাপটি যদি ভিডিও এনকোড করে, তবে তা HEVC ভিডিও কম্প্রেশন স্ট্যান্ডার্ড ব্যবহার করে করা উচিত। |
| শেয়ারিং | ||
| শেয়ারিং: শীট | টি-শেয়ারিং: শীট | কন্টেন্ট শেয়ার করার সময় অ্যাপটির অ্যান্ড্রয়েড শেয়ারশিট ব্যবহার করা উচিত। অ্যাপটি এমন টার্গেট সাজেস্ট করতে পারে যা কাস্টম সলিউশনের জন্য উপলব্ধ নয়। |
| পটভূমি পরিষেবা | ||
| পটভূমি: পরিষেবা | টি-পটভূমি: পরিষেবা | ব্যবহারকারীর ডিভাইসটি যাতে নির্বিঘ্নে চলে, তা নিশ্চিত করতে অ্যাপটি ব্যাকগ্রাউন্ডে অপ্রয়োজনীয়ভাবে দীর্ঘ পরিষেবা চালানো থেকে বিরত থাকে। দ্রষ্টব্য: সিস্টেমটি ব্যাকগ্রাউন্ড সার্ভিসগুলোর ওপর বিভিন্ন বিধিনিষেধ আরোপ করে। নিম্নলিখিতগুলো হলো ব্যাকগ্রাউন্ড সার্ভিসের অনুপযুক্ত ব্যবহার:
আরও তথ্যের জন্য, ব্যাকগ্রাউন্ড টাস্ক ওভারভিউ দেখুন। |
কর্মক্ষমতা এবং স্থিতিশীলতা
আপনার অ্যাপটিতে সর্বোত্তম পারফরম্যান্স, স্থিতিশীলতা, সামঞ্জস্যতা এবং দ্রুত সাড়া দেওয়ার ক্ষমতা থাকা উচিত।
| আইডি | পরীক্ষা | বর্ণনা |
|---|---|---|
| কর্মক্ষমতা | ||
| পারফরম্যান্স: স্টার্টআপ | টি-পারফরম্যান্স: স্টার্টআপ | অ্যাপটি দ্রুত লোড হয় অথবা লোড হতে দুই সেকেন্ডের বেশি সময় নিলে ব্যবহারকারীকে স্ক্রিনে ফিডব্যাক (যেমন অগ্রগতি সূচক বা অনুরূপ কোনো সংকেত) প্রদান করে। |
| পারফরম্যান্স: এফপিএস | টি-পারফরম্যান্স:এফপিএস | অ্যাপটি প্রতি সেকেন্ডে কমপক্ষে ৬০টি ফ্রেম প্রদর্শন করার জন্য প্রতি ১৬ (বা তার কম) মিলিসেকেন্ডে ফ্রেম রেন্ডার করে। রেন্ডারিং সংক্রান্ত সমস্যার সাহায্যের জন্য, ধীর রেন্ডারিং দেখুন। |
| পারফরম্যান্স: কঠোর | টি-পারফরম্যান্স: কঠোর | StrictMode চালু থাকলে ( StrictMode টেস্টিং বিভাগটি দেখুন), অ্যাপটি পরীক্ষা করার সময় কোনো লাল ফ্ল্যাশ ( StrictMode থেকে আসা পারফরম্যান্স সতর্কতা) দেখা যায় না। |
| স্থিতিশীলতা | ||
| স্থিতিশীলতা: ANR | টি-স্থিতিশীলতা: এএনআর | অ্যাপটি ক্র্যাশ করে না বা UI থ্রেড ব্লক করে না, যার ফলে ANR (Android Not Responding) ত্রুটি দেখা দেয়। সম্ভাব্য স্থিতিশীলতার সমস্যা শনাক্ত করতে Google Play-এর প্রি-লঞ্চ রিপোর্ট ব্যবহার করুন। ডেপ্লয়মেন্টের পর, Google Play কনসোলে Android Vitals পেজটি পর্যবেক্ষণ করুন। |
| এসডিকে | ||
| এসডিকে:প্ল্যাটফর্ম | টি-এসডিকে:প্ল্যাটফর্ম | অ্যাপটি অ্যান্ড্রয়েড প্ল্যাটফর্মের সর্বশেষ পাবলিক সংস্করণে কোনো ক্র্যাশ ছাড়াই চলে এবং এটি মূল কার্যকারিতাকে গুরুতরভাবে প্রভাবিত করে না। |
| এসডিকে: টার্গেট | টি-এসডিকে: সর্বশেষ | অ্যাপটির মডিউল build.gradle ফাইলে targetSdk ভ্যালুটি সেট করার মাধ্যমে, গুগল প্লে-এর প্রয়োজনীয়তার সাথে সামঞ্জস্যপূর্ণ সর্বশেষ অ্যান্ড্রয়েড এসডিকে-কে অ্যাপটি টার্গেট করে। |
| এসডিকে:কম্পাইল | টি-এসডিকে: সর্বশেষ | অ্যাপটির মডিউল build.gradle ফাইলে compileSdk ভ্যালুটি সেট করার মাধ্যমে সর্বশেষ অ্যান্ড্রয়েড SDK ব্যবহার করে অ্যাপটি বিল্ড করা হয়েছে। |
| এসডিকে:৩পি | টি-এসডিকে:৩পি , টি-এসডিকে:নন | ব্যবহৃত যেকোনো গুগল বা তৃতীয় পক্ষের এসডিকে হালনাগাদ রয়েছে। এই এসডিকে-গুলোর স্থিতিশীলতা, সামঞ্জস্যতা বা নিরাপত্তা সম্পর্কিত যেকোনো উন্নতি যথাসময়ে ব্যবহারকারীদের কাছে উপলব্ধ হওয়া উচিত। গুগল এসডিকে-এর ক্ষেত্রে, উপলব্ধ থাকলে গুগল প্লে সার্ভিসেস দ্বারা চালিত এসডিকে ব্যবহার করুন। এই এসডিকে-গুলো ব্যাকওয়ার্ড কম্প্যাটিবল, স্বয়ংক্রিয়ভাবে আপডেট হয়, আপনার অ্যাপ প্যাকেজের আকার কমায় এবং ডিভাইসের রিসোর্স দক্ষতার সাথে ব্যবহার করে। |
| এসডিকে:নন | টি-এসডিকে:নন | অ্যাপটি নন-এসডিকে ইন্টারফেস ব্যবহার করে না। |
| এসডিকে:ডিবাগ | টি-এসডিকে:ডিবাগ | প্রোডাকশন অ্যাপে কোনো ডিবাগ লাইব্রেরি অন্তর্ভুক্ত করা হয়নি। অ্যাপে ডিবাগ লাইব্রেরি অন্তর্ভুক্ত করা হলে তা পারফরম্যান্সের পাশাপাশি নিরাপত্তাজনিত সমস্যাও সৃষ্টি করতে পারে। |
| ব্যাটারি | ||
| ব্যাটারি: পরিচালনা করুন | টি-ব্যাটারি: পরিচালনা করুন | অ্যাপটি ডোজ এবং অ্যাপ স্ট্যান্ডবাই-এর মতো পাওয়ার ম্যানেজমেন্ট ফিচারগুলোকে সঠিকভাবে সমর্থন করে। অ্যাপগুলি পাওয়ার রক্ষণাবেক্ষণ থেকে অব্যাহতির জন্য অনুরোধ করতে পারে। অন্যান্য ব্যবহারের ক্ষেত্রগুলির জন্য ‘Optimize for Doze and App Standby’- তে সহায়তা দেখুন। |
গোপনীয়তা এবং নিরাপত্তা
অ্যাপটি ব্যবহারকারীর ডেটা ও ব্যক্তিগত তথ্য নিরাপদে পরিচালনা করে এবং যথাযথ স্তরের অনুমতি প্রদান করে।
ব্যবহারকারীর গোপনীয়তা রক্ষার জন্য গুগল প্লে স্টোরে প্রকাশিত অ্যাপ্লিকেশনগুলোকেও গুগল প্লে ব্যবহারকারীর ডেটা নীতিমালা মেনে চলতে হবে।
| আইডি | পরীক্ষা | বর্ণনা |
|---|---|---|
| অনুমতি | ||
| অনুমতি: ন্যূনতম | টি-অনুমতি: ন্যূনতম | অ্যাপটি বর্তমান ব্যবহারের জন্য শুধুমাত্র ন্যূনতম প্রয়োজনীয় অনুমতিগুলোই চেয়ে থাকে। কিছু অনুমতির ক্ষেত্রে, যেমন অবস্থান, অ্যাপটি সম্ভব হলে সূক্ষ্ম স্পেসিফিকেশনের পরিবর্তে একটি সাধারণ স্পেসিফিকেশন ব্যবহার করে। আপনার অনুমতির অনুরোধগুলো কীভাবে কমাবেন তা দেখুন। |
| অনুমতি: সংবেদনশীল | টি-অনুমতি: সংবেদনশীল | অ্যাপটি শুধুমাত্র তখনই সংবেদনশীল ডেটা (যেমন এসএমএস বা কল লগ পারমিশন গ্রুপ বা লোকেশন ) অথবা অর্থপ্রদত্ত পরিষেবা (যেমন ডায়ালার বা এসএমএস) অ্যাক্সেস করার অনুমতি চায়, যখন তা অ্যাপটির মূল ব্যবহারের সাথে সরাসরি সম্পর্কিত থাকে। এই অনুমতিগুলো সম্পর্কিত প্রভাবগুলো ব্যবহারকারীর কাছে স্পষ্টভাবে প্রকাশ করতে হবে। আপনার অ্যাপটি কীভাবে পারমিশন ব্যবহার করে, তার ওপর নির্ভর করে সংবেদনশীল তথ্যে অ্যাক্সেসের ওপর নির্ভর না করেই আপনার অ্যাপের প্রয়োজন মেটানোর একটি বিকল্প উপায় থাকতে পারে। উদাহরণস্বরূপ, কোনো ব্যবহারকারীর কন্ট্যাক্ট সম্পর্কিত পারমিশন চাওয়ার পরিবর্তে, অ্যাক্সেসের অনুরোধ করার জন্য একটি ইমপ্লিসিট ইন্টেন্ট ব্যবহার করুন। |
| অনুমতি: রানটাইম | টি-অনুমতি:রানটাইম | অ্যাপটি চালু হওয়ার সময় নয়, বরং যখন কোনো কার্যকারিতার প্রয়োজন হয়, তখন রানটাইম পারমিশন চেয়ে থাকে। |
| অনুমতি: ব্যাখ্যা করুন | টি-অনুমতি: ব্যাখ্যা করুন | অ্যাপটিতে স্পষ্টভাবে ব্যাখ্যা করা হয়েছে কেন অনুমতিগুলোর প্রয়োজন । |
| অনুমতি: অবনমন | T-অনুমতি: অবনমন | ব্যবহারকারীরা কোনো অনুমতি প্রত্যাখ্যান বা প্রত্যাহার করলে অ্যাপটি স্বাভাবিকভাবে তার কার্যকারিতা হারায় । অ্যাপটির উচিত নয় ব্যবহারকারীর প্রবেশাধিকার পুরোপুরি বন্ধ করে দেওয়া। |
| ডেটা এবং ফাইল | ||
| ডেটা: সংবেদনশীল | টি-ডেটা: সংবেদনশীল , টি-ডেটা: পরিচালনা | সকল সংবেদনশীল তথ্য অ্যাপের অভ্যন্তরীণ স্টোরেজে সংরক্ষিত থাকে। |
| ডেটা:লগ | টি-ডেটা:লগ | সিস্টেম লগ বা অ্যাপ-নির্দিষ্ট কোনো লগে ব্যবহারকারীর কোনো ব্যক্তিগত বা সংবেদনশীল তথ্য নথিভুক্ত করা হয় না। |
| ডেটা:আইডি | টি-ডেটা:আইডি | অ্যাপটি শনাক্তকরণের উদ্দেশ্যে IMEI-এর মতো কোনো অপরিবর্তনীয় হার্ডওয়্যার আইডি ব্যবহার করে না। |
| পরিচয় | ||
| পরিচয়: ইঙ্গিত | টি-পরিচয়: ইঙ্গিত | অ্যাপটি অ্যাকাউন্টের তথ্য এবং অন্যান্য সংবেদনশীল তথ্য, যেমন ক্রেডিট কার্ডের তথ্য, ঠিকানা ও ফোন নম্বর, স্বয়ংক্রিয়ভাবে পূরণ করার জন্য নির্দেশনা প্রদান করে। |
| পরিচয়: ক্রেডম্যান | টি-আইডেন্টিটি:ক্রেডম্যান | অ্যাপটি অ্যান্ড্রয়েডের জন্য ক্রেডেনশিয়াল ম্যানেজারকে একীভূত করে একটি নির্বিঘ্ন সাইন-ইন অভিজ্ঞতা প্রদান করে, যা পাসকি, ফেডারেটেড আইডেন্টিটি এবং পাসওয়ার্ডের জন্য সমর্থনকে একত্রিত করে। |
| পরিচয়:জীবনী | টি-আইডেন্টিটি:বায়ো | অ্যাপটি আর্থিক লেনদেন বা গুরুত্বপূর্ণ ব্যবহারকারী নথির মতো সংবেদনশীল তথ্য সুরক্ষিত রাখতে বায়োমেট্রিক প্রমাণীকরণ সমর্থন করে। |
| অ্যাপের উপাদানসমূহ | ||
| উপাদান: রপ্তানি | টি-কম্পোনেন্টস: রপ্তানি | অ্যাপটি সমস্ত অ্যাক্টিভিটি , সার্ভিস , ব্রডকাস্ট রিসিভার এবং বিশেষ করে কন্টেন্ট প্রোভাইডারগুলোর জন্য শুধুমাত্র সেইসব অ্যাপ্লিকেশন কম্পোনেন্ট এক্সপোর্ট করা হয়, যেগুলো অন্যান্য অ্যাপের সাথে ডেটা শেয়ার করে , অথবা যেগুলোকে অন্যান্য অ্যাপ দ্বারা আহ্বান করা উচিত । |
| উপাদান: অনুমতি | টি-উপাদান: অনুমতি | সকল উদ্দেশ্য ও সম্প্রচার সর্বোত্তম অনুশীলন অনুসরণ করে:
|
| উপাদানসমূহ: সুরক্ষা | টি-কম্পোনেন্টস: সুরক্ষা | যেসব কম্পোনেন্ট অ্যাপগুলোর মধ্যে কন্টেন্ট শেয়ার করে, সেগুলোর কাস্টম পারমিশনের জন্য অ্যাপগুলোর ইনস্টল করা প্যাকেজের তালিকা অ্যাক্সেস করার ওপর নির্ভর করা উচিত নয়। |
| নেটওয়ার্কিং | ||
| নেটওয়ার্ক:ট্র্যাফিক | টি-নেটওয়ার্ক: ট্র্যাফিক | সমস্ত নেটওয়ার্ক ট্র্যাফিক SSL এর মাধ্যমে পাঠানো হয়। |
| নেটওয়ার্ক: কনফিগারেশন | টি-নেটওয়ার্ক:কনফিগ | অ্যাপটি একটি নেটওয়ার্ক নিরাপত্তা কনফিগারেশন ঘোষণা করে। |
| নেটওয়ার্ক:প্লে | টি-নেটওয়ার্ক:প্লে | অ্যাপটি যদি গুগল প্লে পরিষেবা ব্যবহার করে, তাহলে অ্যাপ্লিকেশনটি চালু হওয়ার সময় নিরাপত্তা প্রদানকারীটি সক্রিয় হয় । |
| ওয়েবভিউ | ||
| ওয়েবভিউ:কনফিগ | T-WebViews:Config , T-WebViews:Nav | স্থানীয় কন্টেন্ট অ্যাক্সেস করার জন্য setAllowUniversalAccessFromFileURLs() ব্যবহার করবেন না। এর পরিবর্তে WebViewAssetLoader ব্যবহার করুন। |
| ওয়েবভিউ: জাভাস্ক্রিপ্ট | T-WebViews:JavaScript , T-WebViews:Nav | ওয়েব ভিউ অবিশ্বস্ত কন্টেন্টের ক্ষেত্রে অ্যান্ড্রয়েড ৬.০-তে (এপিআই লেভেল ২৩ এবং তার উপরে), এর পরিবর্তে এইচটিএমএল মেসেজ চ্যানেল ব্যবহার করুন। |
| মৃত্যুদণ্ড | ||
| এক্সিকিউশন:বান্ডেল | টি-এক্সিকিউশন:বান্ডেল | অ্যাপটি তার নিজস্ব APK-এর বাইরে থেকে ডাইনামিকভাবে কোড লোড করে না। অ্যান্ড্রয়েড অ্যাপ বান্ডেল ব্যবহার করুন, যার মধ্যে প্লে ফিচার ডেলিভারি এবং প্লে অ্যাসেট ডেলিভারি অন্তর্ভুক্ত রয়েছে। ২০২১ সালের আগস্ট মাস থেকে গুগল প্লে স্টোরের সকল নতুন অ্যাপের জন্য অ্যান্ড্রয়েড অ্যাপ বান্ডেল ব্যবহার করা বাধ্যতামূলক। |
| ক্রিপ্টোগ্রাফি | ||
| ক্রিপ্টো:অ্যালগরিদম | টি-ক্রিপ্টো:অ্যালগরিদম | অ্যাপটি প্ল্যাটফর্ম-প্রদত্ত শক্তিশালী ক্রিপ্টোগ্রাফিক অ্যালগরিদম এবং একটি র্যান্ডম নম্বর জেনারেটর ব্যবহার করে। এছাড়াও, অ্যাপটি কোনো কাস্টম অ্যালগরিদম প্রয়োগ করে না। |
গুগল প্লে
আপনার অ্যাপটি গুগল প্লে-তে প্রকাশ করার জন্য সক্ষম করুন।
| আইডি | পরীক্ষা | বর্ণনা |
|---|---|---|
| নীতিমালা | ||
| খেলুন: নীতিমালা | টি-প্লে: নীতিমালা | অ্যাপটি গুগল প্লে ডেভেলপার কন্টেন্ট পলিসির শর্তাবলী কঠোরভাবে মেনে চলে, কোনো অনুপযুক্ত কন্টেন্ট পরিবেশন করে না এবং অন্যের মেধা সম্পত্তি বা ব্র্যান্ড ব্যবহার করে না। |
| খেলা: পরিপক্কতা | টি-প্লে: নীতিমালা | কন্টেন্ট রেটিং নির্দেশিকা অনুসারে অ্যাপের পরিপক্কতার স্তর যথাযথভাবে নির্ধারণ করা হয়। |
| অ্যাপের বিবরণ পৃষ্ঠা | ||
| প্লে:গ্রাফিক্স | টি-প্লে: গ্রাফিক্স , টি-প্লে: অ্যাসেটস | অ্যাপের ফিচার গ্রাফিকটি এই সাপোর্ট আর্টিকেলে বর্ণিত নির্দেশিকা অনুসরণ করে। নিশ্চিত করুন যে:
|
| প্লে:ননঅ্যান্ড্রয়েড | টি-প্লে: অ্যাসেটস | অ্যাপের স্ক্রিনশট এবং ভিডিওতে নন-অ্যান্ড্রয়েড ডিভাইস দেখানো হয় না বা সেগুলোর কোনো উল্লেখ থাকে না। |
| খেলা:বিভ্রান্তিকর | টি-প্লে: অ্যাসেটস | অ্যাপের স্ক্রিনশট বা ভিডিও আপনার অ্যাপের বিষয়বস্তু এবং অভিজ্ঞতাকে বিভ্রান্তিকরভাবে উপস্থাপন করে না। |
| ব্যবহারকারী সহায়তা | ||
| খেলুন:বাগস | টি-প্লে: নীতিমালা | গুগল প্লে পেজের রিভিউ ট্যাবে ব্যবহারকারীদের দ্বারা রিপোর্ট করা সাধারণ বাগগুলো সমাধান করা হয়, যদি বাগগুলো পুনরায় ঘটানো যায় এবং বিভিন্ন ডিভাইসে দেখা যায়। যদি কোনো বাগ শুধুমাত্র কয়েকটি ডিভাইসে দেখা যায়, তবুও সেটির সমাধান করা উচিত, যদি সেই ডিভাইসগুলো বিশেষভাবে জনপ্রিয় বা নতুন হয়। |
পরীক্ষার পরিবেশ
নিম্নলিখিতভাবে একটি পরীক্ষার পরিবেশ প্রস্তুত করুন:
এমুলেটর টেস্টিং: বিভিন্ন অ্যান্ড্রয়েড সংস্করণ এবং স্ক্রিন রেজোলিউশনে আপনার অ্যাপ পরীক্ষা করার জন্য অ্যান্ড্রয়েড এমুলেটর একটি চমৎকার উপায়। আপনার লক্ষ্য ব্যবহারকারী গোষ্ঠীর জন্য সবচেয়ে প্রচলিত ফর্ম ফ্যাক্টর এবং হার্ডওয়্যার/সফ্টওয়্যার সংমিশ্রণগুলো উপস্থাপন করতে এমুলেটেড ডিভাইস (AVD) সেট আপ করুন। নিম্নলিখিত এমুলেটরগুলো (ন্যূনতম) ব্যবহার করে বিভিন্ন ধরনের ফর্ম ফ্যাক্টর পরীক্ষা করুন:
- ফোল্ডেবল: বাইরের ডিসপ্লে সহ ৭.৬" ফোল্ড-ইন (এটি এভিডি ম্যানেজারে ফোনের তালিকায় রয়েছে)
- ট্যাবলেট: পিক্সেল সি ৯.৯৪" (২,৫৬০ পিক্সেল x ১,৮০০ পিক্সেল)
- মোবাইল অ্যাপ নোটিফিকেশন টেস্টিং: একটি মোবাইল ডিভাইস / এমুলেটরকে Wear OS এমুলেটরের সাথে যুক্ত করুন: Wear OS Round 1.84"
হার্ডওয়্যার ডিভাইস: আপনার পরীক্ষার পরিবেশে অল্প সংখ্যক প্রকৃত হার্ডওয়্যার ডিভাইস থাকা উচিত, যা ভোক্তাদের জন্য উপলব্ধ প্রধান ফর্ম ফ্যাক্টর এবং হার্ডওয়্যার/সফ্টওয়্যার সংমিশ্রণগুলোর প্রতিনিধিত্ব করে। বাজারে থাকা প্রতিটি ডিভাইসে পরীক্ষা করার প্রয়োজন নেই। অল্প সংখ্যক প্রতিনিধিত্বমূলক ডিভাইসের উপর মনোযোগ দিন, এমনকি প্রতিটি ফর্ম ফ্যাক্টরের জন্য এক বা দুটি ডিভাইস ব্যবহার করলেও চলবে।
ডিভাইস টেস্ট ল্যাব: এছাড়াও, আপনি বিভিন্ন ধরণের ডিভাইসে আপনার অ্যাপ পরীক্ষা করার জন্য ফায়ারবেস টেস্ট ল্যাব- এর মতো থার্ড-পার্টি পরিষেবা ব্যবহার করতে পারেন।
সর্বশেষ অ্যান্ড্রয়েড সংস্করণে পরীক্ষা করুন: আপনার লক্ষ্য ব্যবহারকারী গোষ্ঠীর জন্য প্রতিনিধিত্বমূলক অ্যান্ড্রয়েড সংস্করণগুলো পরীক্ষা করার পাশাপাশি, আপনার সর্বদা অ্যান্ড্রয়েডের সর্বশেষ সংস্করণের সাথে পরীক্ষা করা উচিত, যাতে সাম্প্রতিক আচরণগত পরিবর্তনগুলো আপনার অ্যাপের ব্যবহারকারীর অভিজ্ঞতার উপর নেতিবাচক প্রভাব না ফেলে।
ইউনিট টেস্টিং, ইন্টিগ্রেশন টেস্টিং এবং UI টেস্টিং সহ টেস্টিং সম্পর্কিত আরও নির্দেশনার জন্য, "অ্যান্ড্রয়েড অ্যাপ টেস্টিংয়ের মৌলিক বিষয়সমূহ" দেখুন।
কঠোর মোড
পারফরম্যান্স পরীক্ষার জন্য আপনার অ্যাপে StrictMode চালু করুন। পারফরম্যান্স, নেটওয়ার্ক অ্যাক্সেস এবং ফাইল রিড ও রাইটকে প্রভাবিত করতে পারে এমন অপারেশনগুলো শনাক্ত করতে StrictMode ব্যবহার করুন। মূল থ্রেড এবং অন্যান্য থ্রেড উভয় ক্ষেত্রেই সম্ভাব্য সমস্যাযুক্ত অপারেশনগুলো সন্ধান করুন।
StrictMode.ThreadPolicy.Builder ব্যবহার করে প্রতিটি থ্রেডের জন্য একটি মনিটরিং পলিসি সেট আপ করুন এবং detectAll() ব্যবহার করে ThreadPolicy সমস্ত সমর্থিত মনিটরিং সক্রিয় করুন।
penaltyFlashScreen() ব্যবহার করে ThreadPolicy এর নীতি লঙ্ঘনের দৃশ্যমান বিজ্ঞপ্তি সক্রিয় করুন।
পরীক্ষা
মূল অ্যাপ কোয়ালিটি টেস্টগুলো আপনাকে আপনার অ্যাপের মৌলিক গুণমান মূল্যায়ন করতে সাহায্য করে। আপনি আপনার টেস্ট প্ল্যানে টেস্টগুলোকে একত্রিত করতে পারেন অথবা একাধিক টেস্টের গ্রুপকে একসাথে একীভূত করতে পারেন।
ব্যবহারকারীর অভিজ্ঞতা
| আইডি | বৈশিষ্ট্য | বর্ণনা |
|---|---|---|
| ব্যবহারযোগ্যতা | ||
| টি-ব্যবহারযোগ্যতা:কোর | ব্যবহারযোগ্যতা: ইউএক্স | অ্যাপের সকল অংশে—সমস্ত স্ক্রিন, ডায়ালগ, সেটিংস এবং সমস্ত ইউজার ফ্লো-তে নেভিগেট করুন। নিম্নলিখিতগুলি করুন:
|
| T-ব্যবহারযোগ্যতা:সুইচার | ব্যবহারযোগ্যতা: সুইচার | প্রতিটি অ্যাপ স্ক্রিন থেকে, অন্য একটি চলমান অ্যাপে যান এবং তারপরে রিসেন্টস অ্যাপ সুইচার ব্যবহার করে পরীক্ষাধীন অ্যাপটিতে ফিরে আসুন। |
| টি-ব্যবহারযোগ্যতা: ঘুম | ব্যবহারযোগ্যতা: ঘুম | ডিভাইসটিকে স্লিপ মোডে রাখতে পাওয়ার বাটনটি চাপুন, এরপর স্ক্রিনটি চালু করতে আবার পাওয়ার বাটনটি চাপুন। |
| টি-ব্যবহারযোগ্যতা:লক | ব্যবহারযোগ্যতা: লক | ডিভাইসটিতে একটি স্ক্রিন লক সেট করুন। ডিভাইসটিকে স্লিপ মোডে (যা ডিভাইসটিকে লক করে দেবে) পাঠাতে পাওয়ার বাটনটি চাপুন। এরপর, স্ক্রিনটি চালু করতে এবং ডিভাইসটি আনলক করতে আবার পাওয়ার বাটনটি চাপুন। |
| এসডি কার্ড | ||
| টি-এসডি-কার্ড | ব্যবহারযোগ্যতা: ইউএক্স | ডিভাইসের এসডি কার্ডে অ্যাপটি ইনস্টল করে এর মূল কার্যকারিতা পরীক্ষা করুন (যদি অ্যাপটি এই ইনস্টলেশন পদ্ধতি সমর্থন করে)। অ্যাপটি এসডি কার্ডে সরাতে, অ্যাপের সেটিংস দেখুন। |
| ব্যবহারকারী ইন্টারফেস | ||
| টি-ইউআই: ট্রানজিশন | UI:প্যারিটি , UI:পূর্ণস্ক্রিন , UI:ট্রানজিশন | প্রতিটি অ্যাপ স্ক্রিন থেকে, ডিভাইসটিকে ল্যান্ডস্কেপ ও পোর্ট্রেট ওরিয়েন্টেশনের মধ্যে এবং ভাঁজ করা ও খোলা অবস্থার মধ্যে কমপক্ষে তিনবার ঘোরান। অ্যাপটি নিম্নলিখিত কাজগুলো করে কিনা তা যাচাই করুন:
|
| ভিজ্যুয়াল গুণমান | ||
| টি-ভিজ্যুয়াল: ডিসপ্লে | ভিজ্যুয়াল: প্রদর্শন | আপনার অ্যাপের সমস্ত বৈশিষ্ট্য ব্যবহার করুন। যাচাই করুন যে গ্রাফিক্স, টেক্সট, ছবি এবং অন্যান্য UI উপাদান সহ সমস্ত ভিজ্যুয়াল বিকৃতি, ঝাপসাভাব বা পিক্সেলেশন থেকে মুক্ত। |
| টি-ভিজ্যুয়াল: পঠনযোগ্যতা | চাক্ষুষ: পাঠযোগ্যতা | অ্যাপের সমস্ত টেক্সট ব্লক পর্যালোচনা করুন। পাঠযোগ্যতার জন্য টেক্সট এবং টেক্সট ব্লকের লাইনের দৈর্ঘ্য (স্পেস সহ) ৪৫-৭৫ অক্ষরের মধ্যে সীমাবদ্ধ আছে কিনা তা যাচাই করুন। নিম্নলিখিতগুলি যাচাই করুন:
|
| টি-ভিজ্যুয়াল: থিম | ভিজ্যুয়াল: থিম | লাইট এবং ডার্ক থিমে সমস্ত লেখা পাঠযোগ্য কিনা তা যাচাই করুন। লাইট এবং ডার্ক থিমে সমস্ত ভিজ্যুয়াল স্পষ্টভাবে শনাক্তযোগ্য এবং নান্দনিক কিনা তা যাচাই করুন। |
| নেভিগেশন | ||
| টি-ন্যাভ: ফিরে যান | নেভিগেশন: ব্যাকবাটন , নেভিগেশন:পিছনের অঙ্গভঙ্গি | অ্যাপের সকল অংশে—সমস্ত স্ক্রিন, ডায়ালগ, সেটিংস এবং সমস্ত ইউজার ফ্লো-তে নেভিগেট করুন। প্রতিটি অ্যাপ স্ক্রিন থেকে, ব্যাক বাটন চাপুন অথবা ব্যাক সোয়াইপ জেসচার ব্যবহার করুন। অ্যাপটি আপনাকে আগের বা হোম স্ক্রিনে নিয়ে যাবে। |
| টি-ন্যাভ: স্টেট | নেভ:রাজ্য | প্রতিটি অ্যাপ স্ক্রিন থেকে, ডিভাইসের হোম কী চাপুন অথবা জেসচার নেভিগেশনে উপরের দিকে সোয়াইপ করুন, তারপর অল অ্যাপস স্ক্রিন থেকে অ্যাপটি পুনরায় চালু করুন। |
| বিজ্ঞপ্তি | ||
| টি-নোটিফাই:তথ্য | অবহিত করুন:তথ্য , বিজ্ঞপ্তি: বার্তা | নোটিফিকেশন ড্রয়ারে অ্যাপটি প্রদর্শন করতে পারে এমন সব ধরনের নোটিফিকেশন চালু করুন এবং পর্যবেক্ষণ করুন। যেখানে প্রযোজ্য (অ্যান্ড্রয়েড ৪.১ এবং উচ্চতর সংস্করণ), সেখানে নোটিফিকেশনগুলো প্রসারিত করুন এবং উপলব্ধ সমস্ত অ্যাকশনে ট্যাপ করুন। |
| প্রবেশগম্যতা | ||
| টি-অ্যাক্সেস: টার্গেট | অ্যাক্সেস:লক্ষ্য | যাচাই করুন যে টাচ টার্গেটগুলো সমস্ত ডিসপ্লে সাইজ এবং কনফিগারেশনের জন্য একটি সামঞ্জস্যপূর্ণ, প্রবেশযোগ্য আকার এবং অবস্থান বজায় রাখে। প্রবেশযোগ্যতা সম্পর্কে তথ্যের জন্য, অ্যাক্সেসিবিলিটি স্ক্যানার দেখুন। |
| টি-অ্যাক্সেস: কনট্রাস্ট | প্রবেশাধিকার: বৈসাদৃশ্য | সকল দৃশ্যমান উপাদানের বৈসাদৃশ্য যাচাই করুন। |
| টি-অ্যাক্সেস: বিবরণ | অ্যাক্সেস: বিবরণ | যাচাই করুন যে TextView ছাড়া অন্য সমস্ত UI এলিমেন্টের কন্টেন্ট ডেসক্রিপশন আছে। |
কার্যকারিতা
| আইডি | বৈশিষ্ট্য | বর্ণনা |
|---|---|---|
| অডিও | ||
| টি-অডিও:ইনিট | অডিও: ইনিট | অডিও প্লেব্যাক শুরু করুন। যাচাই করুন যে এক সেকেন্ডের মধ্যে অ্যাপটি অডিও চালানো শুরু করে অথবা প্লেব্যাকের জন্য অডিও ডেটা প্রস্তুত হচ্ছে এমন কোনো ভিজ্যুয়াল ইন্ডিকেটর প্রদান করে। |
| টি-অডিও:ফোকাস | অডিও: ফোকাস | অডিও প্লেব্যাক শুরু করুন। অ্যাপটি অডিও ফোকাসের জন্য অনুরোধ করবে। অডিও প্লেব্যাক বন্ধ হলে, অ্যাপটি অডিও ফোকাস ছেড়ে দেবে (যা অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার উচ্চতর সংস্করণকে লক্ষ্য করে তৈরি অ্যাপগুলোর ক্ষেত্রে স্বয়ংক্রিয়ভাবে ঘটে)। |
| টি-অডিও: বাধা | অডিও: বাধা | অডিও প্লেব্যাক শুরু করুন। অন্য কোনো অ্যাপে অডিও প্লেব্যাক শুরু করুন। অডিও ফোকাস পরিবর্তনের সাথে সাথে আপনার অ্যাপের উচিত অডিও প্লেব্যাক বন্ধ করা বা এর ভলিউম কমিয়ে দেওয়া। |
| টি-অডিও: পটভূমি | অডিও: পটভূমি | অডিও প্লেব্যাক শুরু করুন। ফোরগ্রাউন্ড অ্যাপ হিসেবে অন্য কোনো নন-অডিও অ্যাপ ব্যবহার করুন। অ্যাপটি ব্যাকগ্রাউন্ডে অডিও প্লে করতে থাকবে। |
| টি-অডিও: বিজ্ঞপ্তি | অডিও: বিজ্ঞপ্তি | অডিও প্লেব্যাক শুরু করুন। ফোরগ্রাউন্ড অ্যাপ হিসেবে অন্য কোনো নন-অডিও অ্যাপ ব্যবহার করুন। যাচাই করুন যে আপনার অ্যাপটি ব্যাকগ্রাউন্ডে অডিও প্লে করা চালিয়ে যাচ্ছে এবং MediaStyle দিয়ে স্টাইল করা একটি নোটিফিকেশন তৈরি করেছে। মিডিয়া কন্ট্রোলগুলো সঠিকভাবে ব্যবহার করার পদ্ধতি দেখুন। |
| টি-অডিও:রিজিউম | অডিও:রিজিউম | অডিও প্লেব্যাক শুরু করুন। ফোরগ্রাউন্ড অ্যাপ হিসেবে থাকা অন্য কোনো নন-অডিও অ্যাপের সাথে ইন্টারঅ্যাক্ট করুন। আপনার অ্যাপটিকে টপ অ্যাপে পরিণত করতে সেটির সাথে ইন্টারঅ্যাক্ট করুন। অডিও পুনরায় চালু হবে অথবা ভলিউম আগের অবস্থায় ফিরে আসবে। অন্যথায়, অ্যাপটি ব্যবহারকারীকে জানিয়ে দেবে যে প্লেব্যাক পজ করা হয়েছে। |
| টি-ভিডিও:পিআইপি | ভিডিও: পিআইপি | পিকচার-ইন-পিকচার মোডে অ্যাপ ভিডিও প্লেব্যাক সক্রিয় করুন। |
| টি-ভিডিও: এনকোডিং | ভিডিও: এনকোডিং | অ্যাপটি HEVC ভিডিও কম্প্রেশন স্ট্যান্ডার্ড ব্যবহার করে ভিডিও এনকোড করে কিনা, তা যাচাই করুন। |
| শেয়ারিং | ||
| টি-শেয়ারিং: শীট | শেয়ারিং: শীট | একটি ইন্টেন্ট তৈরি করুন এবং ইন্টেন্টটিকে আর্গুমেন্ট হিসেবে দিয়ে startActivity() কল করে একটি অ্যাক্টিভিটি শুরু করুন। অ্যান্ড্রয়েড শেয়ারশিট ব্যবহার দেখুন। আপনার অ্যাপে অ্যান্ড্রয়েড শেয়ারশিট প্রদর্শিত হওয়া উচিত। |
| পটভূমি পরিষেবা | ||
| টি-পটভূমি: পরিষেবা | পটভূমি: পরিষেবা | আপনার অ্যাপের সমস্ত প্রধান বৈশিষ্ট্য ব্যবহার করুন। নিশ্চিত করুন যে কোনো দীর্ঘক্ষণ ধরে চলা ব্যাকগ্রাউন্ড সার্ভিস চালু নেই। আপনার অ্যাপটিকে ব্যাকগ্রাউন্ডে পাঠাতে অন্য কোনো অ্যাপে সুইচ করুন। সেটিংসে গিয়ে দেখুন, ব্যাকগ্রাউন্ডে থাকাকালীন আপনার অ্যাপের কোনো সার্ভিস চালু আছে কি না। অ্যান্ড্রয়েড ৪.০ এবং তার পরবর্তী সংস্করণগুলোতে, অ্যাপস স্ক্রিনে গিয়ে রানিং ট্যাবে অ্যাপটি খুঁজুন। |
কর্মক্ষমতা এবং স্থিতিশীলতা
| আইডি | বৈশিষ্ট্য | বর্ণনা |
|---|---|---|
| কর্মক্ষমতা | ||
| টি-পারফরম্যান্স: স্টার্টআপ | পারফরম্যান্স: স্টার্টআপ | আপনার অ্যাপটি চালু করুন। যাচাই করুন যে অ্যাপটি দ্রুত লোড হচ্ছে কিনা, অথবা লোড হতে দুই সেকেন্ডের বেশি সময় লাগলে এটি কোনো অগ্রগতি সূচক বা অনুরূপ সংকেত দেখাচ্ছে কিনা। |
| টি-পারফরম্যান্স:এফপিএস | পারফরম্যান্স: এফপিএস | আপনার অ্যাপের সমস্ত প্রধান বৈশিষ্ট্য ব্যবহার করুন। যাচাই করুন যে অ্যাপটি প্রতি সেকেন্ডে কমপক্ষে ৬০ ফ্রেম রেন্ডার করে। আপনার অ্যাপ পরীক্ষা করতে প্রোফাইল HWUI রেন্ডারিং বিকল্পটি ব্যবহার করুন। |
| টি-পারফরম্যান্স: কঠোর | পারফরম্যান্স: কঠোর | আপনার অ্যাপে গার্বেজ কালেকশন এবং ইউজার এক্সপেরিয়েন্সের উপর এর প্রভাবের দিকে বিশেষভাবে মনোযোগ দিন। |
| স্থিতিশীলতা | ||
| টি-স্থিতিশীলতা: এএনআর | স্থিতিশীলতা: ANR | আপনার অ্যাপের সমস্ত প্রধান ফিচার ব্যবহার করুন। যাচাই করুন যে অ্যাপটি ক্র্যাশ করছে না বা UI থ্রেড ব্লক করছে না, যার ফলে ANR (Android Not Responding) ত্রুটি দেখা দিচ্ছে। সম্ভাব্য স্থিতিশীলতার সমস্যা শনাক্ত করতে Google Play-এর প্রি-লঞ্চ রিপোর্টটি পর্যালোচনা করুন। |
| এসডিকে | ||
| টি-এসডিকে:প্ল্যাটফর্ম | এসডিকে:প্ল্যাটফর্ম | অ্যান্ড্রয়েড প্ল্যাটফর্মের সর্বশেষ পাবলিক সংস্করণে আপনার অ্যাপটি চালান। এর সমস্ত প্রধান ফিচার ব্যবহার করুন। যাচাই করুন যে অ্যাপটি ক্র্যাশ করছে না এবং মূল কার্যকারিতার কোনো ক্ষতি ছাড়াই চলছে। |
| টি-এসডিকে: সর্বশেষ | এসডিকে: টার্গেট , এসডিকে:কম্পাইল | অ্যাপ্লিকেশনটি সর্বশেষ উপলব্ধ SDK ( targetSdk এবং compileSdk ) অনুযায়ী বিল্ড করা হয়েছে কিনা তা নিশ্চিত করতে অ্যান্ড্রয়েড ম্যানিফেস্ট ফাইল এবং বিল্ড কনফিগারেশন পর্যালোচনা করুন। |
| টি-এসডিকে:৩পি | এসডিকে:৩পি | আপনার অ্যাপের build.gradle ফাইলটি পর্যালোচনা করে কোনো পুরোনো ডিপেন্ডেন্সি আছে কিনা তা দেখুন। |
| টি-এসডিকে:নন | এসডিকে:নন | নন-এসডিকে ইন্টারফেসের ব্যবহার শনাক্ত করতে অ্যান্ড্রয়েড স্টুডিও লিন্ট টুল ব্যবহার করুন। বিকল্প পরীক্ষা পদ্ধতির জন্য ‘নন-এসডিকে ইন্টারফেসের উপর বিধিনিষেধ’ দেখুন। |
| টি-এসডিকে:ডিবাগ | এসডিকে:ডিবাগ | আপনার অ্যাপের build.gradle ফাইলে কোনো ডিবাগ লাইব্রেরি অন্তর্ভুক্ত আছে কিনা তা পর্যালোচনা করুন। |
| ব্যাটারি | ||
| টি-ব্যাটারি: পরিচালনা করুন | ব্যাটারি: পরিচালনা করুন | ডোজ এবং অ্যাপ স্ট্যান্ডবাই মোডে অ্যাপের সমস্ত প্রধান ফিচার ব্যবহার করুন। ডোজ মেইনটেন্যান্স উইন্ডোতে এবং অ্যাপটি অ্যাপ স্ট্যান্ডবাই মোড থেকে বেরিয়ে আসার পর অ্যালার্ম, টাইমার, নোটিফিকেশন এবং সিঙ্কগুলো সঠিকভাবে কাজ করছে কিনা তা যাচাই করুন। ADB কমান্ড ব্যবহার করে Doze এবং App Standby-এর আচরণ পরীক্ষা করুন (প্রয়োজনীয়তা ও নির্দেশনার জন্য 'Test with Doze and App Standby' দেখুন)। অপ্রত্যাশিত ব্যাটারি ড্রেন নির্ণয় করতে, পরিকল্পিত ব্যাকগ্রাউন্ড কাজের সাথে অ্যান্ড্রয়েড স্টুডিও পাওয়ার প্রোফাইলার বা ব্যাটারি হিস্টোরিয়ান টুল ব্যবহার করুন। |
গোপনীয়তা এবং নিরাপত্তা
| আইডি | বৈশিষ্ট্য | বর্ণনা |
|---|---|---|
| অনুমতি | ||
| টি-অনুমতি: ন্যূনতম | অনুমতি: ন্যূনতম | আপনার অ্যাপের জন্য প্রয়োজনীয় সমস্ত অনুমতি ম্যানিফেস্ট ফাইলে, রানটাইমে এবং ডিভাইসের অ্যাপ সেটিংসে ( সেটিংস > অ্যাপ তথ্য ) পর্যালোচনা করুন। |
| টি-অনুমতি: সংবেদনশীল | অনুমতি: সংবেদনশীল | আপনার অ্যাপের এমন যেকোনো ফিচার ব্যবহার করুন যার জন্য অনুমতির প্রয়োজন হয়। যাচাই করুন যে, অ্যাপটি শুধুমাত্র তার মূল কাজের জন্যই সংবেদনশীল ডেটা বা পরিষেবা অ্যাক্সেস করার অনুমতি চায়। যাচাই করুন যে, সংবেদনশীল ডেটা ও পরিষেবা ব্যবহারের অনুমতি দেওয়ার পরিণাম সম্পর্কে ব্যবহারকারীকে স্পষ্টভাবে জানানো হয়েছে। |
| টি-অনুমতি:রানটাইম | অনুমতি: রানটাইম | আপনার অ্যাপের যে সমস্ত ফিচারের জন্য অনুমতির প্রয়োজন, সেগুলি ব্যবহার করুন। যাচাই করুন যে অনুমতিগুলি লেজিলি (lazily) পদ্ধতিতে চাওয়া হচ্ছে, অর্থাৎ, অ্যাপ চালু হওয়ার সময় নয়, বরং শুধুমাত্র ফিচারগুলি অ্যাক্সেস করার সময়। |
| টি-অনুমতি: ব্যাখ্যা করুন | অনুমতি: ব্যাখ্যা করুন | আপনার অ্যাপের অনুমতি-প্রয়োজনীয় সমস্ত বৈশিষ্ট্য ব্যবহার করুন। অ্যাপটি ব্যবহারকারীকে ব্যাখ্যা করে যে কেন অনুমতিগুলির প্রয়োজন, তা যাচাই করুন। |
| T-অনুমতি: অবনমন | অনুমতি: অবনমন | আপনার অ্যাপের যে সকল ফিচারের জন্য অনুমতির প্রয়োজন, সেগুলো ব্যবহার করুন। অনুমতিগুলো প্রত্যাখ্যান বা প্রত্যাহার করুন। যাচাই করুন যে অ্যাপটি একটি বিকল্প ব্যবহারের সুযোগ প্রদান করে এবং কাজ করা অব্যাহত রাখে। |
| ডেটা এবং ফাইল | ||
| টি-ডেটা: সংবেদনশীল | ডেটা: সংবেদনশীল | অভ্যন্তরীণ স্টোরেজে সংরক্ষিত সমস্ত ডেটা পর্যালোচনা করুন। বাহ্যিকভাবে সংরক্ষিত ডেটা সংবেদনশীল নয় তা যাচাই করুন। |
| টি-ডেটা: পরিচালনা | ডেটা: সংবেদনশীল | বাহ্যিক স্টোরেজ থেকে লোড করা ডেটা কীভাবে পরিচালনা ও প্রক্রিয়াজাত করা হয়, তা পর্যালোচনা করুন। |
| টি-ডেটা:লগ | ডেটা:লগ | ডিভাইস লগ নিরীক্ষণ করার পাশাপাশি অ্যাপের সমস্ত প্রধান ফিচার ব্যবহার করুন। নিশ্চিত করুন যে ব্যবহারকারীর কোনো ব্যক্তিগত তথ্য লগ করা হচ্ছে না। |
| টি-ডেটা:আইডি | ডেটা:আইডি | অ্যাপের সকল প্রধান ফিচার ব্যবহার করুন। যাচাই করুন যে অ্যাপটি শনাক্তকরণের উদ্দেশ্যে IMEI-এর মতো কোনো হার্ডওয়্যার আইডি ব্যবহার করছে না। |
| পরিচয় | ||
| টি-পরিচয়: ইঙ্গিত | পরিচয়: ইঙ্গিত | অ্যাপের সেই সমস্ত ফিচার ব্যবহার করুন যেগুলিতে ব্যবহারকারীর ইনপুট প্রয়োজন। যাচাই করুন যে, অ্যাকাউন্ট ক্রেডেনশিয়াল এবং অন্যান্য সংবেদনশীল তথ্যের মতো ডেটার জন্য ইনপুট ফিল্ডগুলি স্বয়ংক্রিয়ভাবে পূরণ করতে অ্যাপটি ইঙ্গিত প্রদান করে কি না। |
| টি-আইডেন্টিটি:ক্রেডম্যান | পরিচয়: ক্রেডম্যান | আপনার অ্যাপে সাইন ইন করুন। যাচাই করুন যে অ্যাপটিতে অ্যান্ড্রয়েডের জন্য ক্রেডেনশিয়াল ম্যানেজার (Credential Manager for Android) সংহত করা আছে, যাতে পাসকি, ফেডারেটেড আইডেন্টিটি এবং পাসওয়ার্ডের জন্য সমন্বিত সমর্থনসহ একটি সাইন-ইন অভিজ্ঞতা পাওয়া যায়। |
| টি-আইডেন্টিটি:বায়ো | পরিচয়:জীবনী | অ্যাপের যে সকল ফিচারের জন্য প্রমাণীকরণের প্রয়োজন, সেগুলো ব্যবহার করুন। যাচাই করুন যে অ্যাপটি বায়োমেট্রিক প্রমাণীকরণের মাধ্যমে আর্থিক লেনদেন বা ব্যবহারকারীর গুরুত্বপূর্ণ নথিপত্রের মতো সংবেদনশীল তথ্য সুরক্ষিত রাখে। |
| অ্যাপের উপাদানসমূহ | ||
| টি-কম্পোনেন্টস: রপ্তানি | উপাদান: রপ্তানি | অ্যান্ড্রয়েড ম্যানিফেস্ট ফাইলে সংজ্ঞায়িত সমস্ত অ্যাপ্লিকেশন কম্পোনেন্টের যথাযথ এক্সপোর্ট স্টেট পর্যালোচনা করুন। সমস্ত কম্পোনেন্টের জন্য এক্সপোর্টেড প্রপার্টিটি অবশ্যই স্পষ্টভাবে সেট করতে হবে। |
| টি-উপাদান: অনুমতি | উপাদান: অনুমতি | আপনার অ্যাপের জন্য প্রয়োজনীয় সমস্ত অনুমতি ম্যানিফেস্ট ফাইলে, রানটাইমে এবং ডিভাইসের অ্যাপ সেটিংসে ( সেটিংস > অ্যাপ তথ্য ) পর্যালোচনা করুন। |
| টি-কম্পোনেন্টস: সুরক্ষা | উপাদানসমূহ: সুরক্ষা | অ্যান্ড্রয়েড ম্যানিফেস্ট ফাইলে সংজ্ঞায়িত সমস্ত কন্টেন্ট প্রোভাইডার পর্যালোচনা করুন। নিশ্চিত করুন যে প্রতিটি প্রোভাইডারের একটি উপযুক্ত protectionLevel আছে। |
| নেটওয়ার্কিং | ||
| টি-নেটওয়ার্ক: ট্র্যাফিক | নেটওয়ার্ক:ট্র্যাফিক | এমন একটি নেটওয়ার্ক নিরাপত্তা কনফিগারেশন ঘোষণা করুন যা ক্লিয়ারটেক্সট ট্র্যাফিক নিষ্ক্রিয় করে , তারপর অ্যাপটি পরীক্ষা করুন। |
| টি-নেটওয়ার্ক:কনফিগ | নেটওয়ার্ক: কনফিগারেশন | অ্যাপটির নেটওয়ার্ক নিরাপত্তা কনফিগারেশন পর্যালোচনা করুন। যাচাই করুন যে কনফিগারেশনের কোনো লিন্ট চেক ব্যর্থ হচ্ছে না। |
| টি-নেটওয়ার্ক:প্লে | নেটওয়ার্ক:প্লে | গুগল প্লে সার্ভিসের জন্য অ্যাপ্লিকেশন চালু হওয়ার সময় সিকিউরিটি প্রোভাইডারটি ইনিশিয়ালাইজ করা হয়েছে কিনা, তা যাচাই করুন। |
| ওয়েবভিউ | ||
| T-WebViews:Config | ওয়েবভিউ:কনফিগ | অ্যাপটির নেটওয়ার্ক নিরাপত্তা কনফিগারেশন পর্যালোচনা করুন। যাচাই করুন যে কনফিগারেশনের কোনো লিন্ট চেক ব্যর্থ হচ্ছে না। |
| T-WebViews:JavaScript | ওয়েবভিউ: জাভাস্ক্রিপ্ট | প্রতিটি WebView জন্য, এমন একটি পৃষ্ঠায় যান যেখানে জাভাস্ক্রিপ্ট প্রয়োজন। |
| T-WebViews:Nav | WebViews:Config , ওয়েবভিউ: জাভাস্ক্রিপ্ট | প্রতিটি WebView-তে এমন সাইট এবং কন্টেন্টে নেভিগেট করার চেষ্টা করুন যা আপনার অ্যাপ দ্বারা সরাসরি লোড হয় না। |
| মৃত্যুদণ্ড | ||
| টি-এক্সিকিউশন:বান্ডেল | এক্সিকিউশন:বান্ডেল | যাচাই করুন যে অ্যাপটি অ্যান্ড্রয়েড অ্যাপ বান্ডেল ব্যবহার করে এবং অ্যাপের APK-এর বাইরে থেকে ডায়নামিকভাবে কোড লোড করে না। |
| ক্রিপ্টোগ্রাফি | ||
| টি-ক্রিপ্টো:অ্যালগরিদম | ক্রিপ্টো:অ্যালগরিদম | যাচাই করুন যে অ্যাপটি শক্তিশালী, প্ল্যাটফর্ম-প্রদত্ত ক্রিপ্টোগ্রাফিক অ্যালগরিদম এবং একটি র্যান্ডম নম্বর জেনারেটর ব্যবহার করে। আরও যাচাই করুন যে অ্যাপটি কোনো কাস্টম অ্যালগরিদম প্রয়োগ করে না। |
গুগল প্লে
| আইডি | বৈশিষ্ট্য | বর্ণনা |
|---|---|---|
| নীতিমালা | ||
| টি-প্লে: নীতিমালা | খেলুন: নীতিমালা খেলা: পরিপক্কতা খেলুন:বাগস | আপনার ডেভেলপার প্রোফাইল, অ্যাপের বিবরণ, স্ক্রিনশট, ফিচার গ্রাফিক, কন্টেন্ট রেটিং এবং ব্যবহারকারীর মতামত পর্যালোচনা করতে গুগল প্লে ডেভেলপার কনসোলে সাইন ইন করুন। |
| অ্যাপের বিবরণ পৃষ্ঠা | ||
| টি-প্লে:গ্রাফিক্স | প্লে:গ্রাফিক্স | আপনার ফিচার গ্রাফিক এবং স্ক্রিনশটগুলো ডাউনলোড করুন এবং সেগুলোকে আপনার লক্ষ্য করা ডিভাইস ও ফর্ম ফ্যাক্টরগুলোর ডিসপ্লে সাইজের সাথে মেলানোর জন্য ছোট করে নিন। |
| টি-প্লে: অ্যাসেটস | প্লে:গ্রাফিক্স , প্লে: নন-অ্যান্ড্রয়েড খেলা:বিভ্রান্তিকর | Review all graphical assets, media, text, code libraries, and other content that's packaged in the app or expansion file download. |
আর্কাইভ
Previous versions of the core app quality guidelines: