W Androidzie 8.0 (API na poziomie 26) i nowszym możesz zezwolić użytkownikom na przypinanie widżetów do ekranu głównego w aplikacji. Promowanie widżetów bezpośrednio w aplikacji to świetny sposób na zwiększenie zaangażowania użytkowników, zwłaszcza po wykonaniu przez nich powiązanego zadania lub gdy użytkownik wielokrotnie korzysta z funkcji w aplikacji.
Tworzenie prośby o kod PIN
Aby zainicjować przypinanie widżetu, użyj metody requestPinGlanceAppWidget
z klasy GlanceAppWidgetManager
. W przypadku aplikacji działających na starszych wersjach Androida zwraca wartość false. Jeśli jednak żądanie zostanie wysłane do systemu, funkcja zwróci wartość „true”.
Oto przykład tworzenia prośby o kod PIN:
@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) ) } } ) {} }
W tym przykładzie MyWidgetReceiver
to klasa, która odbiera wywołania zwrotne widżetu, a MyWidget
to widżet Glance, który chcesz przypiąć. successCallback
to PendingIntent
, który jest wywoływany, gdy widżet zostanie przypięty.
Obsługa odpowiedzi na prośbę o PIN
Gdy użytkownik odpowie na prośbę o kod PIN, aplikacja otrzyma odpowiedź. Jeśli użytkownik zaakceptuje prośbę, widżet zostanie przypięty do jego ekranu głównego i wywoła się zdarzenie successCallback
PendingIntent
. Jeśli użytkownik odrzuci prośbę, nic się nie stanie.
Warto pamiętać, że zdarzenie successCallback
jest wywoływane tylko wtedy, gdy widżet zostanie dodany do ekranu głównego. Nie jest wywoływana, jeśli użytkownik odrzuci prośbę lub jeśli program uruchamiający nie obsługuje przypinania.