„Upgrade-Einladung“ ist ein User-Flow, in dem die wichtigsten neuen Funktionen des aktuellen großen Android-Betriebssystem-Upgrades vorgestellt werden.
Der Ablauf soll Nutzer davon überzeugen, ihr Gerät auf die neueste Betriebssystemversion zu aktualisieren.
Sobald ein Betriebssystem-Upgrade für ein Gerät aussteht, für das die Nutzer ihre Zustimmung geben müssen, erhalten sie eine Push-Benachrichtigung mit den neuen Funktionen und einer Einladung, das Upgrade durchzuführen.
Gerätehersteller können „Upgrade-Party“ für ihre Android-Betriebssystemgeräte aktivieren, indem sie das Formular „Anfrage zur Aktivierung der Android-Upgrade-Einladung“ einreichen.
„Upgrade-Einladung“ anpassen
Sie haben folgende Möglichkeiten, „Upgrade-Einladung“ 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 Styleguide für „Upgrade-Einladung“ und geben Sie Ihre Anpassungsinformationen in der Formularantwort an.
Styleguide für „Upgrade-Einladung“
In diesem Styleguide erfahren Sie, wie Sie das Design von „Upgrade-Einladung“ an Ihre Marke anpassen können (Bildschirme, Farben, Schriftarten). Wir empfehlen dringend, die Größen und die Struktur des ursprünglichen Designs beizubehalten.
Der Ablauf „Upgrade-Einladung“ besteht aus den folgenden drei Komponenten:
- Eingangsbildschirm
- Bildschirm mit Funktionen
- Outro-Bildschirm
Eine Animation auf jedem Bildschirm hilft, die jeweilige Funktion zu erklären.
Eingangsbildschirm
Der Eingangsbildschirm enthält eine kurze Animation, mit der der Nutzer begrüßt wird und die ihn dazu auffordert, den auf dem Bildschirm gezeigten Ablauf zu starten.
Layout
Die Geräteanimation besteht immer aus:
- Weißer Hintergrund und bunte Formen
- Geräterahmen
- UI-Inhalte
Stil
Wenn Sie den Stil von Material You 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.
Bewegungsmodus
Option 1:Mit einer Uhr auf dem Startbildschirm
- Zahlen werden auf dem Bildschirm angezeigt.
- Die Zahlen bewegen sich zur Mitte und werden dabei kleiner. Der Rahmen des Mobiltelefons wird angezeigt.
- Das Telefon wird kleiner. Die Formen werden auf dem Bildschirm angezeigt.
- Die Animation ist abgeschlossen. Die Formen bewegen sich weiterhin leicht.
|
|
Option 2:Keine Uhr auf dem Startbildschirm
- Das Mobiltelefon wird auf dem Bildschirm angezeigt.
- Das Telefon bewegt sich zur Mitte und wird dabei größer. Die Formen werden auf dem Bildschirm angezeigt.
- Das Telefon erreicht die maximale Größe und die Formen bewegen sich weiter.
|
|
Bildschirm mit Funktionen
Auf jedem Bildschirm mit Funktionen wird eine Funktion des neuen Betriebssystems hervorgehoben.
Layout
Die Geräteanimation besteht immer aus:
- Bunter Hintergrund
- Geräterahmen
- UI-Inhalte
Stil
- Wählen Sie eine Hintergrundfarbe, die gut zu den UI Inhalten und zum allgemeinen Erscheinungsbild passt.
- Legen Sie auf den Bildschirmen Schriftgrößen fest, die gut lesbar sind. Bei Bedarf können Sie größere Schriftgrößen festlegen.
Bewegungsmodus
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 Ablauf ab. Er zeigt den Nutzern, 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, die gut zu den UI Inhalten und zum allgemeinen Erscheinungsbild passt.
- Verwenden Sie eine Halbkreisform.
Bewegungsmodus
Folgen Sie dem Standardablauf für die Animation des Outro-Bildschirms:
- Das Mobiltelefon bewegt sich etwas nach oben.
- Im Hintergrund wird ein Kreis angezeigt.
- Hinter dem Mobiltelefon werden Formen angezeigt.
- Die Formen fliegen wie Konfetti aus dem Hintergrund.
|
|
Ablauf „Upgrade-Einladung“ testen
- Gehen Sie auf dem Android-Gerät zu Einstellungen > Google > Upgrade-Party (Debug).
- Bereiten Sie den Trigger für „Upgrade-Einladung“ für das entsprechende Gerätebetriebssystem vor. Das hängt von Ihrer aktuellen Betriebssystemversion und dem zu testenden Ablauf „Upgrade-Einladung“ ab. Entweder:
- Klicken Sie auf Fake-Upgrade schreiben (aktuelle Version). Wenn Sie beispielsweise Android 13 OS verwenden, wird der Testablauf für Android 13 ausgelöst.
- Klicken Sie auf Ausstehendes 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 empfangene Benachrichtigung oder auf Upgrade-Einladung öffnen.
Triggeroptionen für „Upgrade-Einladung“
Es gibt drei verschiedene Möglichkeiten, den Ablauf „Upgrade-Einladung“ auszulösen: 1. automatisch 2. Broadcast 3. Play-Dienste-SDK-Trigger
Automatisch – von Google ausgelöste Benachrichtigung (nur für Geräte mit gOTA)
Bei OEM-Geräten mit gOTA erfolgt die Integration automatisch und es sind keine Schritte zur Integration von „Upgrade-Einladung“ erforderlich. Sobald ein ausstehendes großes Betriebssystem-Upgrade erkannt wird, wird über Google Play-Dienste eine Push-Benachrichtigung an das Gerät gesendet, die zum Ablauf „Upgrade-Einladung“ führt.
Android-Broadcast – von Google ausgelöste Benachrichtigung (empfohlen)
Ein App-Broadcast ist die einfachste und empfohlene Methode, den Ablauf „Upgrade-Einladung“ zu integrieren.
Mit einem Broadcast-Empfänger können Sie den Ablauf „Upgrade-Einladung“ über eine Broadcast-Nachricht aus Ihrer App auslösen. Über den Broadcast wird über Google Play-Dienste eine Push-Benachrichtigung an das Gerät gesendet, die zum Ablauf „Upgrade-Einladung“ führt.
Voraussetzungen für Broadcast
Führen Sie die Schritte in den folgenden Abschnitten aus, um Ihre App vorzubereiten.
Achten Sie darauf, dass in den Konfigurationsdateien Ihrer App die folgenden Werte verwendet werden:
- Ein minSdkVersion von 14 oder höher
- Ein compileSdkVersion von 28 oder höher
- Ein usesPermission von android.permission.RECOVERY
Broadcast 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 einen Broadcast mit der Aktion.
com.google.android.gms.growth.upgradeparty.upgradeinvite.ACTION_SYSTEM_UPDATEFügen Sie dem Broadcast das Paket
com.google.android.gmshinzu.com.google.android.gms
Zusätzliche Anforderungen
Über den Ablauf „Upgrade-Einladung“ können Nutzer das Betriebssystem-Upgrade auch direkt aus dem Ablauf heraus durchführen.
Dazu müssen Sie eine benutzerdefinierte Intent verfügbar machen, die Google über den Ablauf „Upgrade-Einladung“ aufrufen kann, um den Download des Updates auszulösen.
Beispiel für die Verwendung von Broadcast
Hier ein Beispiel für einen App-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. Dieser Wert wird verwendet, um zu bestimmen, welcher Ablauf „Upgrade-Einladung“ ausgelöst wird.
Play-Dienste SDK – nur Ablauf-Trigger
Mit dem SDK eines Drittanbieters können Sie den Ablauf „Upgrade-Einladung“ über Ihre App oder Ihre eigenen OTA-Benachrichtigungen auslösen. Verwenden Sie eine externe API eines Drittanbieters, um den Ablauf „Upgrade-Einladung“ selbst 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:
- Ein minSdkVersion von 14 oder höher
- Ein compileSdkVersion von 28 oder höher
Eigene App konfigurieren
So konfigurieren Sie Ihre App:
1. Extract the library from the provided .zip file, and place it in your
dependencies {
implementation files(&<#39;PATH_TO_BI>NARY/play-services-growth-16.1.0-eap04.aar';)
}
Fügen Sie die folgenden Bibliotheken hinzu, 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 macht die folgenden Funktionen verfügbar.
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 Aufgabe zurück, die asynchron prüft, ob der Nutzer für eine „Upgrade-Einladung“ infrage kommt. Der resultierende boolesche Wert gibt an, ob der Nutzer infrage kommt oder nicht.
invokeUpgradeInvite
Task<Void> invokeUpgradeInvite();
Ruft die Aktivität „Upgrade-Einladung“ auf. Das resultierende _Aufgabenobjekt_ gibt an, ob beim Starten der Aktivität ein Fehler aufgetreten ist.
Fehlercodes
Bei beiden API-Methoden kann ein Fehler mit einer Ausnahme vom Typ com.google.android.gms.common.api.ApiException auftreten. In solchen Fällen sollte der Aufrufer es später noch einmal versuchen. Zu den erwarteten häufigen Statuscodes) gehören:
- INTERNAL_ERROR : für jeden Fehler im Ablauf der zugrunde liegenden Logik
- TIMEOUT : wenn die Anfrage nicht rechtzeitig bearbeitet werden konnte
- API_NOT_CONNECTED : wenn die API nicht verfügbar ist (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 hat keinen Zugriff auf die UpgradeParty API
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);
}
});
}