Upgrade Invite è un flusso di utenti che mostra le nuove funzionalità chiave incluse nell'attuale aggiornamento principale del sistema operativo Android disponibile.
Il flusso ha lo scopo di convincere gli utenti ad aggiornare il proprio dispositivo alla versione più recente del sistema operativo.
Una volta che un dispositivo ha un aggiornamento del sistema operativo in attesa di approvazione da parte dell'utente, gli utenti ricevono una notifica push che mostra le nuove funzionalità e li invita a eseguire l'aggiornamento.
Per abilitare l'invito all'aggiornamento per il tuo sistema operativo Android, registrati utilizzando il modulo Richiesta di attivazione dell'invito all'aggiornamento Android .
Personalizza l'esperienza di invito all'aggiornamento
Puoi personalizzare l'esperienza di invito all'aggiornamento nei seguenti modi:
- Rimuovi funzionalità irrilevanti.
- Aggiorna la lingua nei blocchi di testo.
- Modifica le animazioni, i colori e i caratteri per adattarli al tuo marchio.
Per personalizzare il flusso, rivedi le linee guida nella Guida allo stile dell'invito all'aggiornamento e includi le informazioni di personalizzazione nel modulo Richiesta di attivazione dell'invito all'aggiornamento Android .
Aggiorna la guida allo stile degli inviti
Utilizza questa guida di stile per modificare l'aspetto di Upgrade Invite per adattarlo al tuo marchio (schermate, colori, caratteri). Consigliamo vivamente di mantenere le dimensioni e la struttura vicine al disegno originale.
Il flusso di invito all'aggiornamento presenta i tre componenti seguenti:
- Schermata introduttiva
- Schermata delle funzionalità
- Schermata finale
Un'animazione su ciascuna schermata aiuta a spiegare ciascuna funzionalità.
Schermata introduttiva
La schermata introduttiva contiene una breve animazione che accoglie l'utente e lo incoraggia ad avviare il flusso mostrato nella schermata introduttiva.
Disposizione
L'animazione del dispositivo è sempre composta da:
- Sfondo bianco e forme colorate
- Cornice del dispositivo
- Contenuti dell'interfaccia utente
Messa in piega
Se scegli di adattare lo stile di Material You , puoi utilizzare i colori e le forme predefiniti mostrati nell'esempio.
Se utilizzi il colore del tuo marchio, assicurati che funzioni bene con lo sfondo dell'interfaccia utente.
Movimento
Opzione 1: con un orologio sulla schermata principale
- I numeri entrano nello schermo.
- I numeri si spostano al centro mentre diminuiscono di dimensione. Viene visualizzata la cornice del telefono cellulare.
- Il telefono diminuisce di dimensioni. Le forme iniziano a entrare nello schermo.
- L'animazione è completata. Le forme continuano a muoversi dolcemente.
Opzione 2: nessun orologio nella schermata iniziale
- Il cellulare entra nello schermo.
- Il telefono si sposta al centro aumentando di dimensioni. Le forme iniziano a entrare nello schermo.
- Il telefono raggiunge la dimensione massima e le forme continuano a muoversi.
Schermata delle funzionalità
Ciascuna schermata delle funzionalità evidenzia una funzionalità del nuovo sistema operativo.
Disposizione
L'animazione del dispositivo è sempre composta da:
- Sfondo colorato
- Cornice del dispositivo
- Contenuti dell'interfaccia utente
Messa in piega
- Scegli un colore di sfondo che si adatti bene al contenuto dell'interfaccia utente e all'aspetto generale.
- All'interno delle schermate, impostare dimensioni dei caratteri facilmente leggibili. Se necessario, imposta dimensioni dei caratteri più grandi.
Movimento
Registra un'animazione del flusso di ciascuna funzionalità, comprese le interazioni touch. Esporta le registrazioni come file Lottie .
Schermata finale
La schermata finale completa il flusso. Indica agli utenti che hanno attraversato tutte le schermate.
Disposizione
L'animazione del dispositivo è sempre composta da:
- Mezzo cerchio sullo sfondo (più forme animate)
- Cornice del dispositivo
- Contenuti dell'interfaccia utente
Messa in piega
- Seleziona un colore di sfondo che si adatti bene al contenuto dell'interfaccia utente e all'aspetto generale.
- Usa una forma a semicerchio.
Movimento
Segui il flusso di animazione standard della schermata finale:
- Il cellulare si sposta leggermente verso l'alto.
- Sullo sfondo appare un cerchio.
- Le forme emergono da dietro il cellulare.
- Le forme volano fuori dallo sfondo come coriandoli.
Testare il flusso di invito all'aggiornamento
- Sul dispositivo Android, vai su: Impostazioni > Google > Debug Upgrade Party .
- Preparare il trigger per l'invito all'aggiornamento per il sistema operativo del dispositivo pertinente (a seconda della versione corrente del sistema operativo e del flusso specifico di invito all'aggiornamento da testare).
- Fare clic su Scrivi aggiornamento falso (versione corrente) . (ad esempio, se utilizzi il sistema operativo Android 13, ciò attiverà il flusso di test di Android 13)
- Fare clic su Scrivi aggiornamento in sospeso (versione corrente + 1) . (ad esempio, se utilizzi il sistema operativo Android 12, verrà attivato il flusso di test di Android 13)
- Fare clic su Segnala aggiornamento del sistema operativo
- Fare clic sulla notifica ricevuta oppure fare clic su Apri invito all'aggiornamento.
Opzioni di attivazione per l'invito all'aggiornamento
Esistono 3 modi diversi per attivare il flusso di invito all'aggiornamento: 1. automatico 2. trasmesso 3. Attivato dall'SDK di Play Services
Automatico: notifica attivata da Google (solo per dispositivi in esecuzione gOTA)
Per i dispositivi OEM che eseguono gOTA, l'integrazione è automatica e non sono richiesti passaggi di integrazione di Upgrade Invite. Una volta rilevato un aggiornamento importante del sistema operativo in sospeso, verrà inviata una notifica push al dispositivo da Google Play Services, portando al flusso di invito all'aggiornamento.
Android Broadcast: notifica attivata da Google (consigliato)
Una trasmissione dell'app è il modo più semplice e consigliato per integrare il flusso di invito all'aggiornamento.
Un ricevitore broadcast ti consente di attivare il flusso di invito all'aggiornamento dalla tua app utilizzando un messaggio broadcast. La trasmissione invia una notifica push al dispositivo da Google Play Services, portando al flusso di invito all'aggiornamento.
Prerequisiti di trasmissione
Per preparare la tua app, completa i passaggi nelle sezioni seguenti.
Assicurati che i file di configurazione della tua app utilizzino i seguenti valori:
- Una minSdkVersion pari o superiore a 14
- Un compileSdkVersion di 28 o superiore
- A usesPermission di android.permission.RECOVERY
Invia la trasmissione
Vedi di seguito le istruzioni per l'app OEM (o il codice) per inviare una trasmissione Android per attivare la notifica push:
Invia trasmissione con l'azione.
com.google.android.gms.growth.upgradeparty.upgradeinvite.ACTION_SYSTEM_UPDATE
Aggiungi il pacchetto
com.google.android.gms
alla trasmissione.com.google.android.gms
Requisiti addizionali
Il flusso di invito all'aggiornamento consente inoltre agli utenti di eseguire l'aggiornamento del sistema operativo direttamente dal flusso.
Affinché funzioni, esponi un intento personalizzato che Google può chiamare dal flusso di invito all'aggiornamento che attiva il download dell'aggiornamento.
Esempio di utilizzo della trasmissione
Vedere il seguente esempio di trasmissione dell'applicazione:
Context context = getApplicationContext();
Intent upgradeInviteIntent = new Intent()
.setAction( "com.google.android.gms.growth.upgradeparty.upgradeinvite.ACTION_SYSTEM_UPDATE")
.setPackage("com.google.android.gms");
.putExtra("com.google.android.gms.growth.upgradeparty.upgradeinvite.EXTRA_PENDING_ANDROID_OS_VERSION_NUMBER", 14);
context.sendBroadcast(updateIntent);
Il valore della chiave EXTRA_PENDING_ANDROID_OS_VERSION_NUMBER
è un intero che indica la versione del sistema operativo in sospeso (in questo esempio, la versione di Android da installare è la 14). Viene utilizzato per determinare quale flusso di invito all'aggiornamento verrà attivato.
Play Services SDK: solo attivazione del flusso
L'SDK di terze parti ti consente di attivare il flusso di invito all'aggiornamento dalla tua app o dalle tue notifiche OTA. Utilizza un'API esterna di terze parti per attivare il flusso di invito all'upgrade stesso. Questo metodo è meno consigliato.
Prerequisiti
Per preparare la tua app, completa i passaggi nelle sezioni seguenti.
Assicurati che il file di build della tua app utilizzi i seguenti valori:
- Una minSdkVersion pari o superiore a 14
- Un compileSdkVersion di 28 o superiore
Configura la tua app
Per configurare la tua app:
1. Extract the library from the provided .zip file, and place it in your
deposito. 2. Aggiungi le dipendenze per Google Growth SDK al file Gradle a livello di app del tuo modulo, normalmente app/build.gradle
:
dependencies {
implementation files('<PATH_TO_BINARY>/play-services-growth-16.1.0-eap04.aar')
}
Per fornire le dipendenze del client, includere le seguenti librerie:
com.google.android.gms:play-services-base:18.0.1 com.google.android.gms:play-services-basement:18.0.0 com.google.android.gms:play-services-tasks:18.0.1
Inizializzazione dell'API
Per inizializzare un client, utilizzare la classe UpgradeParty:
import com.google.android.gms.growth.UpgradeParty; UpgradeParty.getClient(activity);
Il parametro dell'attività dovrebbe essere l'oggetto Activity iniziale.
Funzioni dell'API
Il risultato UpgradePartyClient espone la seguente funzionalità.
isIdoneo all'invito all'aggiornamento
import com.google.android.gms.growth.UpgradeInviteEligibilityParams;
Task<Boolean> isEligibleForUpgradeInvite(UpgradeInviteEligibilityParams params);
/** Contains parameters for the eligibility query. */
class UpgradeInviteEligibilityParams {
/** Integer indicating the pending OS version (in this example, the Android version to be installed is 14). This is used to determine which Upgrade Invite flow will be triggered. */
int pendingAndroidOsVersionNumber;
}
Restituisce un'attività che verifica in modo asincrono se l'utente è idoneo per un invito all'aggiornamento. Il valore booleano risultante indica se l'utente è idoneo o meno.
richiamareUpgradeInvite
Task<Void> invokeUpgradeInvite();
Richiama l'attività di invito all'aggiornamento. Il _Task _object risultante indica se si è verificato un errore durante l'avvio dell'attività.
Codici di errore
Entrambi i metodi API potrebbero non riuscire con un'eccezione di tipo com.google.android.gms.common.api.ApiException . In questi casi, è previsto che il chiamante riprovi in un secondo momento. I codici di stato comuni previsti includono:
- INTERNAL_ERROR - per qualsiasi errore nel flusso della logica sottostante
- TIMEOUT - se la richiesta non può essere gestita in modo tempestivo
- API_NOT_CONNECTED - quando l'API non è disponibile (ovvero, il modulo UpgradeParty non è ancora pronto)
- NETWORK_ERROR : non è stato possibile gestire la richiesta a causa di errori di rete
- DEVELOPER_ERROR : al pacchetto chiamante non è consentito accedere all'API UpgradeParty
Esempio di utilizzo dell'SDK
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import com.google.android.gms.growth.UpgradeParty;
import com.google.android.gms.growth.UpgradePartyClient;
public class SampleActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final UpgradePartyClient client = UpgradeParty.getClient(this);
// Hide the invocation button initially
View startUpgradeInviteButton = findViewById(R.id.__some_button__);
startUpgradeInviteButton.setVisibility(View.GONE);
// Register an onClick handler to invoke the Upgrade Party Activity
startUpgradeInviteButton
.setOnClickListener(
view -> {
client
.invokeUpgradeInvite()
.addOnCompleteListener(
task -> {
if (!task.isSuccessful()) {
// Do something with error, see task.getException()
}
});
});
}
// Check if eligible for an Upgrade Party
client
.isEligibleForUpgradeInvite()
.addOnCompleteListener(
task -> {
if (!task.isSuccessful()) {
// Do something with error, see task.getException()
} else {
// Show/Hide invocation button, based on the result
int visibility =
task.getResult() ? View.VISIBLE : View.GONE;
startUpgradeInviteButton.setVisibility(visibility);
}
});
}