Android 8.0 (एपीआई लेवल 26) और इसके बाद के वर्शन पर चलने वाले डिवाइसों के लिए, अपने ऐप्लिकेशन में उपयोगकर्ताओं को विजेट पिन करने की सुविधा दी जा सकती है. अपने ऐप्लिकेशन में सीधे तौर पर विजेट प्रमोट करना, उपयोगकर्ताओं की दिलचस्पी बढ़ाने का एक शानदार तरीका है. खास तौर पर, तब जब कोई उपयोगकर्ता आपके ऐप्लिकेशन में किसी टास्क को पूरा कर लेता है या बार-बार किसी सुविधा का इस्तेमाल करता है.
पिन करने का अनुरोध करना
विजेट पिन करने की सुविधा देने के लिए, requestPinGlanceAppWidget तरीके
का इस्तेमाल करें, जो GlanceAppWidgetManager क्लास का है. Android के पुराने वर्शन पर चलने वाले ऐप्लिकेशन के लिए, यह तरीका 'गलत' दिखाता है. हालांकि, अगर सिस्टम को अनुरोध भेजा जाता है, तो यह तरीका 'सही' दिखाता है.
पिन करने का अनुरोध करने का तरीका यहां दिया गया है:
@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 सिर्फ़ तब ट्रिगर होता है, जब विजेट को होम स्क्रीन पर जोड़ दिया जाता है. यह तब ट्रिगर नहीं होता, जब उपयोगकर्ता अनुरोध अस्वीकार कर देता है या लॉन्चर, पिन करने की सुविधा के साथ काम नहीं करता.