পিন গ্ল্যান্স উইজেট ইন-অ্যাপ

Android 8.0 (API লেভেল 26) এবং উচ্চতর, আপনি ব্যবহারকারীদের আপনার অ্যাপের মধ্যে তাদের হোম স্ক্রিনে আপনার উইজেটগুলি পিন করতে দিতে পারেন। আপনার অ্যাপের মধ্যে সরাসরি উইজেটগুলি প্রচার করা ব্যবহারকারীর ব্যস্ততা বাড়ানোর একটি দুর্দান্ত উপায়, বিশেষত কোনও ব্যবহারকারী একটি সম্পর্কিত কাজ সম্পূর্ণ করার পরে, বা যখন কোনও ব্যবহারকারী বারবার আপনার অ্যাপে একটি বৈশিষ্ট্য অ্যাক্সেস করে।

একটি পিন অনুরোধ তৈরি করুন

উইজেট পিনিং শুরু করতে, GlanceAppWidgetManager ক্লাস থেকে requestPinGlanceAppWidget পদ্ধতি ব্যবহার করুন। অ্যান্ড্রয়েডের নিম্ন সংস্করণে চলমান অ্যাপগুলির জন্য, এটি মিথ্যা ফেরত দেয়। যাইহোক যদি অনুরোধটি সফলভাবে সিস্টেমে পাঠানো হয়, তাহলে এটি সত্য হয়।

আপনি কিভাবে একটি পিন অনুরোধ তৈরি করতে পারেন তার একটি উদাহরণ এখানে দেওয়া হল:

@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 হল গ্ল্যান্স উইজেট যা আপনি পিন করতে চান৷ successCallback হল একটি PendingIntent যেটি ট্রিগার হয় যখন উইজেটটি সফলভাবে পিন করা হয়।

পিন অনুরোধের প্রতিক্রিয়া পরিচালনা করুন

যখন একজন ব্যবহারকারী পিন অনুরোধ ডায়ালগে সাড়া দেয়, তখন আপনার অ্যাপ একটি প্রতিক্রিয়া পায়। ব্যবহারকারী অনুরোধটি গ্রহণ করলে, আপনার উইজেটটি তাদের হোম স্ক্রিনে পিন করা হয় এবং successCallback PendingIntent ট্রিগার করা হয়। ব্যবহারকারী অনুরোধ অস্বীকার করলে কিছুই হবে না।

এটি লক্ষ্য করা গুরুত্বপূর্ণ যে successCallback শুধুমাত্র তখনই ট্রিগার হয় যদি উইজেটটি হোম স্ক্রিনে সফলভাবে যোগ করা হয়। ব্যবহারকারী অনুরোধ অস্বীকার করলে বা লঞ্চার পিনিং সমর্থন না করলে এটি ট্রিগার হয় না।