Con Android 8.0 (livello API 26) e versioni successive, puoi consentire agli utenti di aggiungere i tuoi widget alla schermata Home all'interno della tua app. La promozione dei widget direttamente all'interno della tua app è un ottimo modo per aumentare il coinvolgimento degli utenti, soprattutto dopo che un utente ha completato un'attività correlata o quando un utente accede ripetutamente a una funzionalità della tua app.
Creare una richiesta di aggiunta
Per avviare l'aggiunta di un widget, utilizza il requestPinGlanceAppWidget metodo
della GlanceAppWidgetManager classe. Per le app in esecuzione su versioni precedenti di Android, questo metodo restituisce false. Tuttavia, se la richiesta viene inviata correttamente al sistema, questo metodo restituisce true.
Di seguito è riportato un esempio di come creare una richiesta di aggiunta:
@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) ) } } ) {} }
In questo esempio, MyWidgetReceiver è la classe che riceve i
callback del widget e MyWidget è il widget Glance che vuoi aggiungere. successCallback è un PendingIntent che viene attivato quando il widget viene aggiunto correttamente.
Gestire la risposta alla richiesta di aggiunta
Quando un utente risponde alla finestra di dialogo della richiesta di aggiunta, la tua app riceve una risposta. Se l'utente accetta la richiesta, il widget viene aggiunto alla schermata Home e viene attivato il PendingIntent successCallback. Se l'utente rifiuta la richiesta, non succede nulla.
È importante notare che successCallback viene attivato solo se il widget viene aggiunto correttamente alla schermata Home. Non viene attivato se l'utente rifiuta la richiesta o se il launcher non supporta l'aggiunta.