যে কার্যকারিতাগুলি চাহিদার মডিউল হিসাবে ভাল কাজ করে সেগুলি হল যেগুলি ইনস্টল করার সময় আপনার বেশিরভাগ ব্যবহারকারীর প্রয়োজন হয় না৷ নিম্নে অ্যাপের বৈশিষ্ট্যগুলির জন্য কয়েকটি উদাহরণ দেওয়া হল যা চাহিদা মডিউলগুলির জন্য উপযুক্ত হবে:
- একটি অ্যাপে একটি ভিডিও সম্পাদনা এবং আপলোড করা যেখানে বেশিরভাগ ব্যবহারকারী শুধুমাত্র ভিডিও দেখেন৷
- একটি অ্যাপে একটি রেসিপি যোগ করা, যেখানে বেশিরভাগ ব্যবহারকারী শুধুমাত্র ব্রাউজ করে এবং অন্যদের রেসিপি অনুসরণ করে
- সাহায্য এবং সমর্থন কার্যকারিতা যখন বেশিরভাগ ব্যবহারকারী সাহায্য চান না, বা অ্যাপের মধ্যে এটি চান না
- কম ব্যবহৃত কার্যকারিতার জন্য বড় লাইব্রেরি যেমন বিশদ বাগ ক্যাপচার এবং রিপোর্টিং প্রদান করা
- নির্দিষ্ট পেমেন্ট বা চেকআউট ক্ষমতা
- খুব উচ্চ-রেজোলিউশন মিডিয়া অভিজ্ঞতা বা VR/AR বৈশিষ্ট্য
সাধারণ ক্ষেত্রে যেখানে এই মডিউলগুলি তুলনামূলকভাবে ছোট (10MB-এর কম), এবং কোনও নেটওয়ার্ক বা অন্যান্য ব্যর্থতা নেই, ব্যবহারকারীরা খুব দ্রুত একটি অন ডিমান্ড মডিউল ডাউনলোড এবং ব্যবহার করতে পারেন। অর্থাৎ, অ্যাপ ইন্সটল করার সময় মডিউলটি উপস্থিত থাকলে অভিজ্ঞতাটি সাধারণত ভিন্ন নয়।
এই পৃষ্ঠাটি সর্বোত্তম অনুশীলনগুলি বর্ণনা করে যা আপনাকে নিম্নলিখিতগুলি করতে সহায়তা করে:
- নিশ্চিত করুন যে আপনার ব্যবহারকারীরা সচেতন এবং তুলনামূলকভাবে বড় মডিউল ডাউনলোডের নিয়ন্ত্রণে রয়েছে যা তাত্ক্ষণিকভাবে লোড হয় না, বা মডিউল ইনস্টলে ত্রুটি রয়েছে।
- মডিউল বিতরণের অভিজ্ঞতা আরও অপ্টিমাইজ করুন, বিশেষ করে এমন পরিস্থিতিতে যেখানে আপনি অনুমান করতে পারেন যে একজন ব্যবহারকারীর একটি নির্দিষ্ট মডিউল প্রয়োজন হবে।
আপনি এই নির্দেশিকাটি পড়ার পরে, প্লে কোর এপিআই নমুনা অ্যাপটি ব্যবহার করে এই সেরা অনুশীলনগুলি কার্যকরভাবে দেখুন৷
ব্যবহারকারীকে অবহিত রাখুন
একটি বৈশিষ্ট্য অবিলম্বে উপলব্ধ না হলে ব্যবহারকারীকে জানাতে হবে। যদি কোনও ব্যবহারকারী Google Play থেকে বৈশিষ্ট্যটি ডাউনলোড করার সিদ্ধান্ত নেন, তাহলে ডাউনলোডের অগ্রগতি প্রদর্শন করুন।
আপনি ডাউনলোডের অগ্রগতি এবং ইনস্টল করার অবস্থা প্রদর্শন করতে অনুরোধের অবস্থা নিরীক্ষণ করতে পারেন। যাইহোক, আপনি যে ধরনের UI প্রদর্শন করতে চান তা ডাউনলোডের আকারের উপর নির্ভর করতে পারে:
- ছোট মডিউলগুলির জন্য (~10 MB বা কম) যেগুলি খুব দ্রুত ইনস্টল করা যেতে পারে, স্পিনার বা একটি সংক্ষিপ্ত "কন্টেন্ট ডাউনলোড করার" বার্তার মতো সূচকগুলি বিবেচনা করুন৷
- বৃহত্তর মডিউলগুলির জন্য যেগুলি ডাউনলোড এবং ইনস্টল করতে কয়েক সেকেন্ড বা তার বেশি সময় নিতে পারে, একটি ডাউনলোড এবং ইনস্টল করার অগ্রগতি বার দেখানোর কথা বিবেচনা করুন, যেমন চিত্র 1 এ দেখানো হয়েছে৷
চিত্র 1. একটি অন ডিমান্ড বৈশিষ্ট্য ডাউনলোড এবং ইনস্টল করার সময় একটি বার্তা এবং অগ্রগতি বার প্রদর্শন করা
ইন্সটলেশন বিলম্ব এবং ব্যর্থতাকে সুন্দরভাবে যোগাযোগ করুন
যদি একটি ডাউনলোড ব্যর্থ হয় বা প্রত্যাশার চেয়ে ধীরগতিতে অগ্রসর হয়, তাহলে ব্যবহারকারীর কাছে স্পষ্টভাবে এবং স্বচ্ছভাবে যোগাযোগ করুন যে কী ঘটছে এবং কি, যদি কিছু থাকে, তারা করতে পারে, যেমন চিত্র 2 এবং 3-এ দেখানো হয়েছে। উদাহরণস্বরূপ, আপনি যদি ডাউনলোড অনুরোধের অবস্থা পর্যবেক্ষণ করেন , এবং আপনার অ্যাপ একটি API_NOT_AVAILABLE
ত্রুটি পেয়েছে, ব্যবহারকারীকে অবহিত করুন যে তাদের ডিভাইস চাহিদার ডাউনলোড সমর্থন করে না।
![](https://developer.android.com/static/studio/images/projects/dynamic-delivery/failed_download.png?authuser=0&hl=bn)
চিত্র 2. ব্যবহারকারীকে জানান কেন এই সময়ে একটি বৈশিষ্ট্য ইনস্টল করা যাবে না
![](https://developer.android.com/static/studio/images/projects/dynamic-delivery/large_download.png?authuser=0&hl=bn)
চিত্র 3. ব্যবহারকারীকে ব্যাখ্যা করুন কেন একটি বৈশিষ্ট্য ডাউনলোড হতে প্রত্যাশার চেয়ে বেশি সময় নিতে পারে
বড় ডাউনলোডের জন্য অনুমতির অনুরোধ করার আগে মান দেখান
যদি একটি অন ডিমান্ড মডিউল বড় হয় (> 150MB), Google Play-এর প্রয়োজন হয় যে ব্যবহারকারী এটি ডাউনলোড করার আগে প্রথমে সম্মত হন।
আপনি মডিউলটি অনুরোধ করার আগে, আপনার ব্যবহারকারীদের কাছে মডিউলটির মান ব্যাখ্যা করুন। আপনি কেন তাদের এই অনুরোধ করছেন তা বুঝতে তাদের সাহায্য করুন, যেমন আপনি অ্যাপ অনুমতির অনুরোধ করার সময় করেন। ব্যবহারকারীদের সাথে খোলামেলা যোগাযোগ করা তাদের ডাউনলোড গ্রহণ করার সম্ভাবনা বাড়ায়।
উদাহরণস্বরূপ, কল্পনা করুন যে আপনি একটি ই-কমার্স অ্যাপ তৈরি করছেন এবং একটি বৈশিষ্ট্য ব্যবহারকারীদের অগমেন্টেড রিয়েলিটি (AR) ব্যবহার করে সরাসরি তাদের অ্যাপার্টমেন্টের মধ্যে আসবাবপত্র রাখতে দেয়। আপনি একটি বার্তা অন্তর্ভুক্ত করতে পারেন যেমন, "আপনি কি আপনার বসার ঘরে আপনার নতুন সোফা দেখতে চান? এখনই অগমেন্টেড রিয়েলিটি ভিউয়ার ইনস্টল করুন।"
ডাউনলোড করুন এবং পটভূমিতে ইনস্টল করুন
মডিউল ডাউনলোড এবং ইনস্টলেশন সবসময় পটভূমিতে ঘটতে হবে। অর্থাৎ, যখন একজন ব্যবহারকারী একটি বৈশিষ্ট্য উপলব্ধ হওয়ার জন্য অপেক্ষা করছেন, তখন আপনি তাদের আপনার অ্যাপের অন্যান্য অংশগুলি ব্যবহার চালিয়ে যাওয়ার অনুমতি দেবেন। এবং, যখন বৈশিষ্ট্যটি উপলব্ধ থাকে, তখন আপনাকে একটি বিজ্ঞপ্তি প্রদান করা উচিত যা ব্যবহারকারীকে তাদের বিবেচনার ভিত্তিতে সেই বৈশিষ্ট্যটি ব্যবহার করতে স্যুইচ করতে দেয়৷
চিত্র 5-এ দেখানো হিসাবে, ব্যবহারকারী অ্যাপটি ব্যবহার করা চালিয়ে যান এবং একটি অন ডিমান্ড বৈশিষ্ট্য ইনস্টলেশন সম্পূর্ণ হলে একটি বিজ্ঞপ্তি পান।
চিত্র 5. একটি মডিউল ইনস্টলেশন সম্পূর্ণ হলে হঠাৎ ব্যবহারকারীর প্রসঙ্গ পরিবর্তন করার পরিবর্তে, ব্যবহারকারীকে জানান যে অনুরোধ করা বৈশিষ্ট্যটি তাদের জন্য প্রস্তুত।
মডিউলটি ব্যবহারের জন্য প্রস্তুত হলে, ব্যবহারকারীকে অবহিত করুন এবং বৈশিষ্ট্যটি চালু করবেন কিনা তা তাদের পছন্দ দিন। এই প্যাটার্ন ব্যবহারকারীকে তাদের অভিজ্ঞতার উপর প্রসঙ্গ এবং নিয়ন্ত্রণ প্রদান করে।
কিছু ক্ষেত্রে, আপনি বৈশিষ্ট্যটি প্রস্তুত হওয়ার সাথে সাথে এটি চালু করতে পারেন । যাইহোক, কারণ এটি ব্যবহারকারীর অভিজ্ঞতাকে ব্যাহত করতে পারে, এই আচরণটি প্রত্যাশিত এবং উপযুক্ত কিনা তা সাবধানে বিবেচনা করুন।
একটি মডিউল আর প্রয়োজন না হলে ডিভাইস স্টোরেজ খালি করুন
সমস্ত বৈশিষ্ট্য মডিউলগুলির একটি দরকারী ক্ষমতা হল পৃথকভাবে তাদের আনইনস্টল করার ক্ষমতা। যদি কোনো ফিচার মডিউল আর ব্যবহার করা না হয়, তাহলে আপনি Google Play-কে সেই মডিউল আনইনস্টল করার জন্য অনুরোধ করে ব্যবহারকারীর ডিভাইসে আপনার অ্যাপের আকার কমাতে পারেন।
উদাহরণস্বরূপ, আপনার অ্যাপে একটি শক্তিশালী অনবোর্ডিং প্রবাহ থাকতে পারে, সম্ভবত সমৃদ্ধ মিডিয়া রয়েছে। একজন ব্যবহারকারী অনবোর্ডিং ফ্লো সম্পূর্ণ করার পরে, অথবা তারা একটি নির্দিষ্ট সময়ের জন্য সক্রিয় ব্যবহারকারী থাকার পরে, আপনি Google Play আপনার অ্যাপের শুধুমাত্র সেই উপাদানটিকে আনইনস্টল করার অনুরোধ করতে Play Feature Delivery API ব্যবহার করতে পারেন।
মনে রাখবেন, আপনি প্রাথমিক অ্যাপ ইন্সটল করার সময় অন্তর্ভুক্ত মডিউলগুলিও পরে আনইনস্টল করতে পারেন। উদাহরণ স্বরূপ, একটি মডিউল যা নতুন ব্যবহারকারীদের প্রশিক্ষণ দেয় কিভাবে আপনার অ্যাপ ব্যবহার করতে হয় তা মূল্যবান যখন ব্যবহারকারীরা প্রথমবার আপনার অ্যাপ ব্যবহার করেন। যাইহোক, অ্যাপের আকার কমাতে, আপনি প্রশিক্ষণ শেষ করার পরে এটি আনইনস্টল করতে পারেন।
উন্নত টিপস
সাধারণত, আপনাকে এমন পরিস্থিতিতে পরিচালনা করতে হবে যেখানে ব্যবহারকারী আপনার চাহিদার বৈশিষ্ট্য মডিউলগুলির কার্যকারিতা ব্যবহার করার অভিপ্রায়কে স্পষ্টভাবে সংকেত দেয়।
যাইহোক, আপনি হয়ত ভবিষ্যদ্বাণী করতে চাইতে পারেন যে কখন কোন ব্যবহারকারী কোন বৈশিষ্ট্যের সাথে যুক্ত হতে পারে তার আগে তারা আপনাকে সংকেত দেয় যে তারা এটি ব্যবহার করতে চায়। একটি অ্যাপ ব্যবহার করে যা আপনাকে একটি উদাহরণ হিসাবে রান্নার রেসিপি ডাউনলোড করতে এবং তৈরি করতে দেয়, নিম্নলিখিত নির্দেশিকাগুলি বর্ণনা করে যে কীভাবে ব্যবহারকারীর চাহিদাগুলি অনুমান করে মডিউল বিতরণের অভিজ্ঞতা অপ্টিমাইজ করা যায়৷
বর্তমান সেশনে একটি বৈশিষ্ট্যের জন্য ব্যবহারকারীর প্রয়োজনীয়তা অনুমান করুন ৷ বিবেচনা করুন যখন ব্যবহারকারীরা তাদের নিজস্ব রেসিপি তৈরি করতে এবং সম্প্রদায়ের সাথে ভাগ করতে চান তখন শুধুমাত্র রেসিপি অ্যাপের জন্য একটি অ্যাকাউন্ট তৈরি করতে হবে। আপনি অ্যাকাউন্ট তৈরিকে একটি সংকেত হিসাবে ব্যবহার করতে পারেন যে ব্যবহারকারী সম্ভবত 'অ্যাড রেসিপি'-তে ট্যাপ করার আগেই বৈশিষ্ট্য মডিউলটি ডাউনলোড করা শুরু করে তাদের নিজস্ব রেসিপি যোগ করতে চান। আপনি বৈশিষ্ট্য ডাউনলোড প্রক্রিয়াটিকে আরও নির্বিঘ্ন করতে অ্যাপে অন্যান্য ব্যবহারকারীর যাত্রায় এই পদ্ধতি প্রয়োগ করতে পারেন।
একটি আসন্ন সেশনে বৈশিষ্ট্যটির জন্য ব্যবহারকারীর প্রয়োজনীয়তা অনুমান করুন ৷ অবিলম্বে একটি অন ডিমান্ড মডিউল ডাউনলোড এবং ইনস্টল করার জন্য আপনার অ্যাপের প্রয়োজন না হলে, অ্যাপটি ব্যাকগ্রাউন্ডে থাকাকালীন আপনি ইনস্টলেশন পিছিয়ে দিতে পারেন এবং Google Play আপনার জন্য ডাউনলোড এবং ইনস্টল পরিচালনা করবে। উদাহরণস্বরূপ, কল্পনা করুন যে আপনি রান্নার অ্যাপের জন্য নতুন মৌসুমী রেসিপি প্রকাশ করতে চান, যা ব্যবহারকারীর বর্তমান সেশনের জন্য উচ্চ অগ্রাধিকার নয়। অ্যাপটি ব্যাকগ্রাউন্ডে থাকলে আপনি এই রেসিপিগুলি ডাউনলোড এবং ইনস্টল করার জন্য Play-এর জন্য অনুরোধ করতে পারেন। এটি বিশেষত বড় বৈশিষ্ট্যগুলির জন্য উপযোগী (>10MB) যা এখনই প্রয়োজন হয় না তবে সম্ভবত ভবিষ্যতে প্রয়োজন হবে৷
অ্যাপ ইনস্টলেশনের আগে একটি বৈশিষ্ট্যের জন্য ব্যবহারকারীর প্রয়োজন অনুমান করুন । ব্যবহারকারীর দেশ, ডিভাইস হার্ডওয়্যার ক্ষমতা এবং API স্তরের উপর ভিত্তি করে ইনস্টল করার সময় আপনার বৈশিষ্ট্য অন্তর্ভুক্ত করার জন্য আপনি শর্তসাপেক্ষ বিতরণের জন্য সমর্থন যোগ করতে চাইতে পারেন। উদাহরণস্বরূপ, আপনি শর্তসাপেক্ষ মডিউলগুলিতে শুয়োরের মাংস ব্যবহার করে এমন রেসিপিগুলি অন্তর্ভুক্ত করতে এবং সেই অঞ্চলগুলিতে অ্যাপ ইনস্টল থেকে সেই মডিউলটি বাদ দিতে চাইতে পারেন যেগুলি মূলত শুয়োরের মাংসের খাবারগুলি এড়িয়ে যায়৷