W Androidzie 8.0 (poziom API 26) i nowszych wersjach 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 użytkownik wielokrotnie korzysta z funkcji w aplikacji.
Tworzenie prośby o przypięcie
Aby rozpocząć przypinanie widżetu, użyj metody requestPinGlanceAppWidget
z klasy GlanceAppWidgetManager. W przypadku aplikacji działających w starszych wersjach Androida zwraca ona wartość false. Jeśli jednak żądanie zostanie wysłane do systemu, zwraca wartość true.
Oto przykład tworzenia prośby 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 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 przypięcie
Gdy użytkownik odpowie na okno prośby o przypięcie, Twoja aplikacja otrzyma odpowiedź. Jeśli użytkownik zaakceptuje prośbę, Twój widżet zostanie przypięty do ekranu głównego, a PendingIntent successCallback zostanie wywołany. Jeśli użytkownik odrzuci prośbę, nic się nie stanie.
Pamiętaj, że successCallback jest wywoływany tylko wtedy, gdy widżet zostanie dodany do ekranu głównego. Nie jest wywoływany, jeśli użytkownik odrzuci prośbę lub jeśli program uruchamiający nie obsługuje przypinania.