জেনারেটেড উইজেট প্রিভিউ আপনাকে আপনার উইজেটগুলির জন্য ডাইনামিক ও ব্যক্তিগতকৃত প্রিভিউ তৈরি করার সুযোগ দেয়, যা ব্যবহারকারীর হোম স্ক্রিনে উইজেটটি কেমন দেখাবে তা নির্ভুলভাবে প্রতিফলিত করে। এগুলি একটি পুশ এপিআই (push API)-এর মাধ্যমে সরবরাহ করা হয়, যার অর্থ হলো আপনার অ্যাপ উইজেট হোস্টের কাছ থেকে কোনো সুস্পষ্ট অনুরোধ না পেয়েই এর লাইফসাইকেলের যেকোনো পর্যায়ে প্রিভিউটি প্রদান করে।
এই নির্দেশিকায় গ্ল্যান্স-ভিত্তিক উইজেটগুলির জন্য কীভাবে প্রিভিউ প্রদান করতে হয় তা আলোচনা করা হয়েছে। যদি আপনার উইজেটটি RemoteViews দিয়ে তৈরি করা হয়ে থাকে, তাহলে আপনার উইজেট পিকার-এ প্রিভিউ যোগ করুন (Add previews to your widget picker) অংশটি দেখুন।
Glance উইজেটগুলির জন্য আপনার অ্যাপের উইজেট পিকার অভিজ্ঞতা উন্নত করতে, Android 15 এবং তার পরবর্তী ডিভাইসগুলিতে GlanceAppWidget.providePreview ব্যবহার করে একটি জেনারেটেড উইজেট প্রিভিউ প্রদান করুন, এবং পূর্ববর্তী সংস্করণগুলির জন্য একটি previewImage নির্দিষ্ট করুন, এবং Android 15+ সংস্করণে যদি কোনো জেনারেটেড প্রিভিউ উপলব্ধ না থাকে তবে এটিকে ফলব্যাক হিসেবে ব্যবহার করুন।
আরও তথ্যের জন্য, ইউটিউবে ‘লাইভ আপডেট এবং উইজেট দিয়ে আপনার অ্যাপকে সমৃদ্ধ করুন’ দেখুন।
জেনারেটেড উইজেট প্রিভিউয়ের জন্য আপনার অ্যাপ সেট আপ করুন।
অ্যান্ড্রয়েড ১৫ বা তার পরবর্তী সংস্করণের ডিভাইসে জেনারেটেড উইজেট প্রিভিউ দেখানোর জন্য, প্রথমে মডিউলের build.gradle ফাইলে compileSdk মান ৩৫ বা তার বেশি সেট করুন, যাতে উইজেট পিকার-এ RemoteViews সরবরাহ করার ক্ষমতা পাওয়া যায়।
এরপর অ্যাপগুলো GlanceAppWidgetManager এ setWidgetPreview ব্যবহার করতে পারে। অপব্যবহার রোধ করতে এবং সিস্টেমের স্বাস্থ্য সংক্রান্ত উদ্বেগ প্রশমিত করার জন্য, setWidgetPreview একটি রেট-লিমিটেড এপিআই। এর ডিফল্ট সীমা হলো প্রতি ঘণ্টায় প্রায় দুটি কল।
Jetpack Glance দিয়ে আপডেট করা প্রিভিউ তৈরি করুন
Jetpack Glance দিয়ে তৈরি উইজেটগুলোর জন্য, নিম্নলিখিত পদক্ষেপগুলো অনুসরণ করুন:
প্রিভিউয়ের জন্য কম্পোজেবল কন্টেন্ট সরবরাহ করতে
GlanceAppWidget.providePreviewফাংশনটি ওভাররাইড করুন।provideGlanceএর মতোই, আপনার অ্যাপের ডেটা লোড করুন এবং উইজেটের কন্টেন্ট কম্পোজেবলে পাস করুন, যাতে প্রিভিউতে সঠিক ডেটা দেখানো যায়।provideGlanceথেকে ভিন্ন, এটি একটি একক কম্পোজিশন, যেখানে কোনো রিকম্পোজিশন বা ইফেক্ট নেই।প্রিভিউ তৈরি ও প্রকাশ করতে
GlanceAppWidgetManager.setWidgetPreviewsকল করুন।
প্রিভিউ দেখানোর জন্য সিস্টেম থেকে কোনো কলব্যাক নেই, তাই আপনার অ্যাপকেই সিদ্ধান্ত নিতে হবে কখন setWidgetPreviews কল করা হবে। আপডেটের কৌশলটি আপনার উইজেটের ব্যবহারের ধরনের উপর নির্ভর করে:
- উইজেটটিতে যদি স্থির তথ্য থাকে বা এটি কোনো দ্রুত ক্রিয়াকলাপ হয়, তাহলে অ্যাপটি প্রথমবার চালু করার সময় প্রিভিউ সেট করুন।
- আপনার অ্যাপে ডেটা তৈরি হয়ে গেলে আপনি প্রিভিউ সেট করতে পারেন; যেমন, কোনো ব্যবহারকারী সাইন-ইন করার পর বা প্রাথমিক সেটআপের পরে।
- আপনি একটি নির্বাচিত ব্যবধানে প্রিভিউগুলো আপডেট করার জন্য একটি পর্যায়ক্রমিক টাস্ক সেট আপ করতে পারেন।
তৈরি করা প্রিভিউগুলির সমস্যা সমাধান করুন
একটি সাধারণ সমস্যা হলো, প্রিভিউ তৈরি করার পর উইজেটের ড্রপ সাইজের তুলনায় প্রিভিউ ইমেজ থেকে ছবি, আইকন বা অন্যান্য কম্পোজেবল উপাদান অনুপস্থিত থাকতে পারে। এই ড্রপ সাইজটি, নির্দিষ্ট করা থাকলে targetCellWidth ও targetCellHeight দ্বারা, অথবা অ্যাপ উইজেট প্রোভাইডার ইনফো ফাইলে থাকা minWidth ও minHeight দ্বারা নির্ধারিত হয়।
এর কারণ হলো, অ্যান্ড্রয়েড ডিফল্টভাবে শুধুমাত্র উইজেটের সর্বনিম্ন আকারে দৃশ্যমান কম্পোজেবলগুলোই রেন্ডার করে। অন্য কথায়, অ্যান্ড্রয়েড ডিফল্টভাবে previewSizeMode কে SizeMode.Single এ সেট করে। কোন কম্পোজেবলগুলো আঁকা হবে তা নির্ধারণ করতে এটি অ্যাপ উইজেট প্রোভাইডার ইনফো XML- এ android:minHeight এবং android:minWidth ব্যবহার করে।
এটি ঠিক করতে, আপনার GlanceAppWidget এ previewSizeMode ওভাররাইড করুন এবং এটিকে SizeMode.Responsive এ সেট করুন, সাথে কিছু DpSize ভ্যালু দিন। এটি অ্যান্ড্রয়েডকে জানিয়ে দেয় যে প্রিভিউয়ের জন্য কোন কোন লেআউট সাইজ রেন্ডার করতে হবে, যা নিশ্চিত করে যে সমস্ত এলিমেন্ট সঠিকভাবে প্রদর্শিত হবে।
নির্দিষ্ট ফর্ম ফ্যাক্টরের জন্য অপ্টিমাইজ করুন। সর্বনিম্ন আকার থেকে শুরু করে এবং আপনার উইজেটের ব্রেকপয়েন্ট অনুসরণ করে এক বা দুটি আকার সরবরাহ করুন। পূর্ববর্তী সংস্করণের সাথে সামঞ্জস্যের জন্য অন্তত একটি previewImage নির্দিষ্ট করুন। বিভিন্ন গ্রিড আকারের জন্য উপযুক্ত সর্বনিম্ন ডিপি (DP) মান আপনি উইজেট ডিজাইন নির্দেশিকায় খুঁজে পেতে পারেন।
উইজেট প্রিভিউগুলির সাথে পশ্চাৎ সামঞ্জস্য
অ্যান্ড্রয়েড ১৫-এর কম সংস্করণের ডিভাইসগুলিতে উইজেট পিকারগুলিতে আপনার উইজেটের প্রিভিউ দেখানোর জন্য, অথবা অ্যান্ড্রয়েড ১৫+ সংস্করণে জেনারেটেড প্রিভিউ-এর ফলব্যাক হিসেবে, previewImage অ্যাট্রিবিউটটি নির্দিষ্ট করুন।
উইজেটটির চেহারা পরিবর্তন করলে, প্রিভিউ ছবিটি আপডেট করুন।