Die Einladung zum Upgrade ist ein Nutzerablauf, in dem die wichtigsten neuen Funktionen des aktuell verfügbaren Android-Betriebssystem-Upgrades vorgestellt werden.
Der Ablauf soll Nutzer davon überzeugen, ihr Gerät auf die neueste Betriebssystemversion zu aktualisieren.
Wenn für ein Gerät ein Betriebssystem-Upgrade aussteht, das vom Nutzer genehmigt werden muss, erhalten die Nutzer eine Push-Benachrichtigung mit den neuen Funktionen und einer Aufforderung, das Upgrade durchzuführen.
Gerätehersteller können Upgrade Party für ihre Android-Geräte aktivieren, indem sie das Formular zum Aktivieren der Einladung zum Android-Upgrade einreichen.
Einladung zum Upgrade anpassen
Sie haben folgende Möglichkeiten, die Einladung zum Upgrade anzupassen:
- Entfernen Sie irrelevante Funktionen.
- Aktualisieren Sie die Sprache in den Textblöcken.
- Passen Sie die Animationen, Farben und Schriftarten an Ihre Marke an.
Wenn Sie den Ablauf anpassen möchten, lesen Sie die Richtlinien im Upgrade Invite Style Guide und geben Sie Ihre Anpassungsinformationen in der Formularantwort an.
Styleguide für Upgrade-Einladungen
Mit diesem Styleguide können Sie das Design der Einladung zum Upgrade an Ihre Marke anpassen (Bildschirme, Farben, Schriftarten). Wir empfehlen dringend, die Größen und die Struktur des ursprünglichen Designs beizubehalten.
Der Einladungsablauf für das Upgrade besteht aus den folgenden drei Komponenten:
- Einführungsbildschirm
- Funktionsbildschirm
- Outro-Bildschirm
Eine Animation auf jedem Bildschirm erklärt die jeweilige Funktion.
Einführungsbildschirm
Der Einführungsbildschirm enthält eine kurze Animation, mit der der Nutzer begrüßt wird und die ihn dazu anregt, den auf dem Einführungsbildschirm gezeigten Ablauf zu starten.
Layout
Die Geräteanimation besteht immer aus:
- Weißer Hintergrund und bunte Formen
- Geräterahmen
- UI-Inhalte
Stil
Wenn Sie das Material You-Design anpassen möchten, können Sie die im Beispiel gezeigten Standardfarben und ‑formen verwenden.
Wenn Sie Ihre eigene Markenfarbe verwenden, achten Sie darauf, dass sie gut zum UI-Hintergrund passt.
Bewegung
Option 1:Mit einer Uhr auf dem Startbildschirm
- Zahlen werden auf dem Bildschirm eingeblendet.
- Die Zahlen bewegen sich zur Mitte und werden dabei kleiner. Der Rahmen des Smartphones wird angezeigt.
- Das Smartphone wird kleiner. Die Formen erscheinen auf dem Bildschirm.
- Die Animation ist abgeschlossen. Die Formen bewegen sich sanft.
|
|
Option 2:Keine Uhr auf dem Startbildschirm
- Das Smartphone kommt ins Bild.
- Das Smartphone bewegt sich in die Mitte und wird dabei größer. Die Formen beginnen, auf den Bildschirm zu kommen.
- Das Smartphone erreicht die maximale Größe und die Formen bewegen sich weiter.
|
|
Funktionsbildschirm
Auf jedem Funktionsbildschirm wird eine Funktion des neuen Betriebssystems hervorgehoben.
Layout
Die Geräteanimation besteht immer aus:
- Farbenfroher Hintergrund
- Geräterahmen
- UI-Inhalte
Stil
- Wählen Sie eine Hintergrundfarbe aus, die gut zum Inhalt der Benutzeroberfläche und zum allgemeinen Erscheinungsbild passt.
- Legen Sie in den einzelnen Ansichten gut lesbare Schriftgrößen fest. Legen Sie bei Bedarf größere Schriftgrößen fest.
Bewegung
Nehmen Sie eine Animation des Ablaufs jeder Funktion auf, einschließlich der Touch-Interaktionen. Exportieren Sie die Aufnahmen als Lottie-Dateien.
Outro-Bildschirm
Der Outro-Bildschirm schließt den Vorgang ab. Sie zeigt den Nutzern an, dass sie alle Bildschirme durchlaufen haben.
Layout
Die Geräteanimation besteht immer aus:
- Halbkreis im Hintergrund (plus animierte Formen)
- Geräterahmen
- UI-Inhalte
Stil
- Wählen Sie eine Hintergrundfarbe aus, die gut zum Inhalt der Benutzeroberfläche und zum allgemeinen Erscheinungsbild passt.
- Verwenden Sie eine Halbkreisform.
Bewegung
Folgen Sie dem Standardablauf für die Outro-Bildschirmanimation:
- Das Smartphone wird etwas nach oben bewegt.
- Im Hintergrund ist ein Kreis zu sehen.
- Formen kommen von hinter dem Smartphone.
- Die Formen fliegen wie Konfetti aus dem Hintergrund.
|
|
Einladungsvorgang für das Upgrade testen
- Rufen Sie auf dem Android-Gerät Einstellungen > Google > Upgrade Party debug auf.
- Bereiten Sie den Trigger für die Upgrade-Einladung für das entsprechende Gerätebetriebssystem vor (abhängig von Ihrer aktuellen Betriebssystemversion und dem zu testenden Upgrade-Einladungsablauf). Entweder:
- Klicken Sie auf Fake-Upgrade schreiben (aktuelle Version). Wenn Sie beispielsweise Android 13 verwenden, wird der Testablauf für Android 13 ausgelöst.
- Klicken Sie auf Write pending upgrade (current version + 1) (Anstehendes Upgrade schreiben (aktuelle Version + 1)). Wenn Sie beispielsweise Android 12 verwenden, wird der Testablauf für Android 13 ausgelöst.
- Klicken Sie auf Betriebssystem-Upgrade melden.
- Klicken Sie entweder auf die erhaltene Benachrichtigung oder auf Upgrade-Einladung öffnen.
Triggeroptionen für die Einladung zum Upgrade
Es gibt drei Möglichkeiten, den Einladungsablauf für Upgrades auszulösen: 1. automatisch 2. Broadcast 3. Play Services SDK ausgelöst
Automatisch – von Google ausgelöste Benachrichtigung (nur für Geräte mit gOTA)
Bei OEM-Geräten, auf denen gOTA ausgeführt wird, erfolgt die Integration automatisch. Es sind keine Integrationsschritte für die Upgrade-Einladung erforderlich. Wenn ein ausstehendes großes Betriebssystem-Upgrade erkannt wird, wird über Google Play-Dienste eine Push-Benachrichtigung an das Gerät gesendet, die den Einladungsablauf für das Upgrade auslöst.
Android Broadcast – von Google ausgelöste Benachrichtigung (empfohlen)
Ein App-Broadcast ist die einfachste und empfohlene Methode, den Ablauf für die Einladung zum Upgrade zu integrieren.
Mit einem Broadcast-Receiver können Sie den Ablauf für die Einladung zum Upgrade über eine Broadcast-Nachricht aus Ihrer App heraus auslösen. Über den Broadcast wird eine Push-Benachrichtigung von Google Play-Diensten an das Gerät gesendet, die den Einladungsablauf für das Upgrade auslöst.
Voraussetzungen für Übertragungen
Führen Sie die Schritte in den folgenden Abschnitten aus, um Ihre App vorzubereiten.
Achten Sie darauf, dass die Konfigurationsdateien Ihrer App die folgenden Werte verwenden:
- minSdkVersion von 14 oder höher
- compileSdkVersion von 28 oder höher
- „usesPermission“ von „android.permission.RECOVERY“
Nachricht an alle senden
Unten finden Sie die Anleitung für die OEM-App (oder den Code), um einen Android-Broadcast zu senden, der die Push-Benachrichtigung auslöst:
Senden Sie eine Broadcast-Nachricht mit der Aktion.
com.google.android.gms.growth.upgradeparty.upgradeinvite.ACTION_SYSTEM_UPDATEFügen Sie der Übertragung das Paket
com.google.android.gmshinzu.com.google.android.gms
Zusätzliche Anforderungen
Über den Einladungsablauf für das Upgrade können Nutzer das Betriebssystem auch direkt über den Ablauf aktualisieren.
Dazu müssen Sie eine benutzerdefinierte Intent verfügbar machen, die Google über den Ablauf für die Einladung zum Upgrade aufrufen kann, um den Download des Updates auszulösen.
Beispiel für die Verwendung von Broadcast
Hier ein Beispiel für einen Anwendungs-Broadcast:
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);
Der Wert des Schlüssels EXTRA_PENDING_ANDROID_OS_VERSION_NUMBER ist eine Ganzzahl, die die ausstehende Betriebssystemversion angibt. In diesem Beispiel ist die zu installierende Android-Version 14. Damit wird bestimmt, welcher Einladungsablauf für das Upgrade ausgelöst wird.
Play Services SDK – nur Flow-Auslösung
Mit dem Drittanbieter-SDK können Sie den Ablauf für die Einladung zum Upgrade über Ihre App oder Ihre eigenen OTA-Benachrichtigungen auslösen. Verwenden Sie eine externe Drittanbieter-API, um den Ablauf für die Einladung zum Upgrade zu aktivieren. Diese Methode wird weniger empfohlen.
Voraussetzungen
Führen Sie die Schritte in den folgenden Abschnitten aus, um Ihre App vorzubereiten.
Achten Sie darauf, dass in der Build-Datei Ihrer App die folgenden Werte verwendet werden:
- minSdkVersion von 14 oder höher
- compileSdkVersion von 28 oder höher
App konfigurieren
So konfigurieren Sie Ihre App:
1. Extract the library from the provided .zip file, and place it in your
Repository.
2. Fügen Sie der Gradle-Datei Ihres Moduls auf App-Ebene, normalerweise app/build.gradle, die Abhängigkeiten für das Google Growth SDK hinzu:
dependencies {
implementation files('<PATH_TO_BINARY>/play-services-growth-16.1.0-eap04.aar')
}
Fügen Sie die folgenden Bibliotheken ein, um die Abhängigkeiten des Clients bereitzustellen:
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
API-Initialisierung
Verwenden Sie die Klasse „UpgradeParty“, um einen Client zu initialisieren:
import com.google.android.gms.growth.UpgradeParty; UpgradeParty.getClient(activity);Der Parameter „activity“ sollte das initiierende Activity-Objekt sein.
API-Funktionen
Der resultierende UpgradePartyClient stellt die folgenden Funktionen bereit.
isEligibleForUpgradeInvite
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;
}
Gibt eine Task zurück, mit der asynchron geprüft wird, ob der Nutzer für eine Einladung zum Upgrade infrage kommt. Der resultierende boolesche Wert gibt an, ob der Nutzer berechtigt ist oder nicht.
invokeUpgradeInvite
Task<Void> invokeUpgradeInvite();
Ruft die Aktivität „Upgrade-Einladung“ auf. Das resultierende _Task_-Objekt gibt an, ob beim Starten der Aktivität ein Fehler aufgetreten ist.
Fehlercodes
Bei beiden API-Methoden kann eine Ausnahme vom Typ com.google.android.gms.common.api.ApiException auftreten. In solchen Fällen wird vom Aufrufer erwartet, dass er es zu einem späteren Zeitpunkt noch einmal versucht. Erwartete häufige Statuscodes):
- INTERNAL_ERROR: für alle Fehler im Ablauf der zugrunde liegenden Logik
- TIMEOUT: wenn die Anfrage nicht rechtzeitig bearbeitet werden konnte
- API_NOT_CONNECTED: Die API ist nicht verfügbar (d. h. das UpgradeParty-Modul ist noch nicht bereit).
- NETWORK_ERROR: Die Anfrage konnte aufgrund von Netzwerkfehlern nicht bearbeitet werden.
- DEVELOPER_ERROR: Das aufrufende Paket darf nicht auf die UpgradeParty API zugreifen.
Beispiel für die SDK-Nutzung
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);
}
});
}