W Androidzie 8.0 (poziom interfejsu API 26) i nowszych możesz pozwolić użytkownikom przypinać widżety 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 wielokrotnie korzystają z funkcji w aplikacji.
Tworzenie prośby o kod PIN
Aby rozpocząć przypinanie widżetu, użyj metody requestPinGlanceAppWidget z klasy GlanceAppWidgetManager. W przypadku aplikacji działających na starszych wersjach Androida zwracana jest wartość false. Jeśli jednak żądanie zostanie pomyślnie wysłane do systemu, zwracana jest wartość „true”.
Oto przykład, jak możesz utworzyć prośbę o przypięcie:
@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 otrzymuje 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 żądanie przypięcia
Gdy użytkownik odpowie na okno prośby o przypięcie, aplikacja otrzyma odpowiedź. Jeśli użytkownik zaakceptuje prośbę, widżet zostanie przypięty do ekranu głównego i wywołany zostanie element successCallback PendingIntent. Jeśli użytkownik odrzuci prośbę, nic się nie stanie.
Należy pamiętać, że zdarzenie successCallback jest wywoływane tylko wtedy, gdy widżet zostanie pomyślnie dodany do ekranu głównego. Nie jest wywoływane, jeśli użytkownik odrzuci prośbę lub jeśli program uruchamiający nie obsługuje przypinania.