অ্যান্ড্রয়েড ৮.০ (এপিআই লেভেল ২৬) এবং এর পরবর্তী সংস্করণগুলোতে, আপনি ব্যবহারকারীদের আপনার অ্যাপের হোম স্ক্রিনে উইজেট পিন করার সুযোগ দিতে পারেন। আপনার অ্যাপের মধ্যেই সরাসরি উইজেটের প্রচার করা ব্যবহারকারীর সম্পৃক্ততা বাড়ানোর একটি দারুণ উপায়, বিশেষ করে যখন কোনো ব্যবহারকারী একটি সম্পর্কিত কাজ সম্পন্ন করেন, অথবা যখন তিনি আপনার অ্যাপের কোনো একটি ফিচার বারবার ব্যবহার করেন।
একটি পিন অনুরোধ তৈরি করুন
উইজেট পিনিং শুরু করতে, GlanceAppWidgetManager ক্লাসের requestPinGlanceAppWidget মেথডটি ব্যবহার করুন। অ্যান্ড্রয়েডের নিম্ন সংস্করণে চালিত অ্যাপগুলির জন্য, এটি false রিটার্ন করে। তবে, যদি অনুরোধটি সফলভাবে সিস্টেমে পাঠানো হয়, তাহলে এটি true রিটার্ন করে।
কীভাবে একটি পিন অনুরোধ তৈরি করবেন তার একটি উদাহরণ এখানে দেওয়া হলো:
@Composable fun AnInAppComposable() { val context = LocalContext.current val coroutineScope = rememberCoroutineScope() Button( onClick = { coroutineScope.launch { GlanceAppWidgetManager(context).requestPinGlanceAppWidget( receiver = MyWidgetReceiver::class.java, preview = MyWidget(), previewState = DpSize(245.dp, 115.dp) ) } } ) {} }
এই উদাহরণে, MyWidgetReceiver হলো সেই ক্লাস যা উইজেটের কলব্যাকগুলো গ্রহণ করে, এবং MyWidget হলো সেই Glance উইজেট যা আপনি পিন করতে চান। successCallback হলো একটি PendingIntent যা উইজেটটি সফলভাবে পিন হলে ট্রিগার হয়।
পিন অনুরোধের প্রতিক্রিয়া পরিচালনা করুন
যখন কোনো ব্যবহারকারী পিন করার অনুরোধের ডায়ালগে সাড়া দেন, তখন আপনার অ্যাপ একটি প্রতিক্রিয়া পায়। যদি ব্যবহারকারী অনুরোধটি গ্রহণ করেন, তাহলে আপনার উইজেটটি তাদের হোম স্ক্রিনে পিন হয়ে যায় এবং successCallback PendingIntent টি ট্রিগার হয়। যদি ব্যবহারকারী অনুরোধটি প্রত্যাখ্যান করেন, তাহলে কিছুই ঘটে না।
এটা মনে রাখা গুরুত্বপূর্ণ যে, successCallback শুধুমাত্র তখনই ট্রিগার হয় যখন উইজেটটি সফলভাবে হোম স্ক্রিনে যুক্ত হয়। ব্যবহারকারী অনুরোধটি প্রত্যাখ্যান করলে অথবা লঞ্চারটি পিনিং সমর্থন না করলে এটি ট্রিগার হয় না।