Zaproszenie do aktualizacji to proces użytkownika prezentujący najważniejsze nowe funkcje zawarte w aktualnie dostępnej głównej aktualizacji systemu operacyjnego Android.
Celem tego przepływu jest przekonanie użytkowników do aktualizacji urządzenia do najnowszej wersji systemu operacyjnego.
Gdy aktualizacja systemu operacyjnego na urządzeniu będzie oczekiwana na zatwierdzenie przez użytkownika, użytkownicy otrzymają powiadomienie push wyświetlające nowe funkcje i zapraszające do przeprowadzenia aktualizacji.
Aby włączyć zaproszenie do aktualizacji dla systemu operacyjnego Android, zarejestruj się, korzystając z formularza żądania aktywacji zaproszenia do aktualizacji systemu Android .
Dostosuj doświadczenie zaproszenia do aktualizacji
Możesz dostosować doświadczenie zaproszenia do uaktualnienia w następujący sposób:
- Usuń nieistotne funkcje.
- Zaktualizuj język w blokach tekstowych.
- Zmodyfikuj animacje, kolory i czcionki, aby pasowały do Twojej marki.
Aby dostosować przebieg, zapoznaj się ze wskazówkami zawartymi w Przewodniku po stylach zaproszeń do uaktualnienia i podaj informacje o dostosowaniu w formularzu żądania aktywacji zaproszenia do uaktualnienia systemu Android .
Przewodnik po stylu zaproszeń do aktualizacji
Skorzystaj z tego przewodnika po stylu, aby zmodyfikować wygląd zaproszenia do aktualizacji, aby dopasować go do własnej marki (ekrany, kolory, czcionki). Zdecydowanie zalecamy zachowanie rozmiarów i konstrukcji zbliżonych do oryginalnego projektu.
Przepływ zaproszeń do aktualizacji obejmuje następujące trzy elementy:
- Ekran wprowadzający
- Ekran funkcji
- Ekran zakończenia
Animacja na każdym ekranie pomaga wyjaśnić każdą funkcję.
Ekran wprowadzający
Ekran wprowadzający zawiera krótką animację, która wita użytkownika i zachęca go do rozpoczęcia przepływu pokazanego na ekranie wprowadzającym.
Układ
Animacja urządzenia zawsze składa się z:
- Białe tło i kolorowe kształty
- Rama urządzenia
- Treść interfejsu użytkownika
Stylizacja
Jeśli zdecydujesz się na adaptację stylizacji Material You , możesz skorzystać z domyślnych kolorów i kształtów pokazanych w przykładzie.
Jeśli używasz koloru własnej marki, upewnij się, że dobrze komponuje się z tłem interfejsu użytkownika.
Ruch
Opcja 1: Z zegarem na ekranie głównym
- Liczby pojawiają się na ekranie.
- Liczby przesuwają się do środka, jednocześnie zmniejszając rozmiar. Pojawi się ramka telefonu komórkowego.
- Telefon zmniejsza się. Kształty zaczynają pojawiać się na ekranie.
- Animacja została ukończona. Kształty poruszają się delikatnie.
Opcja 2: Brak zegara na ekranie głównym
- Telefon komórkowy pojawia się na ekranie.
- Telefon przesuwa się na środek, zwiększając jednocześnie swój rozmiar. Kształty zaczynają pojawiać się na ekranie.
- Telefon osiąga maksymalny rozmiar, a kształty wciąż się poruszają.
Ekran funkcji
Każdy ekran funkcji podświetla funkcję nowego systemu operacyjnego.
Układ
Animacja urządzenia zawsze składa się z:
- Kolorowe tło
- Rama urządzenia
- Treść interfejsu użytkownika
Stylizacja
- Wybierz kolor tła, który dobrze współgra z zawartością interfejsu użytkownika i ogólnym wyglądem.
- Wewnątrz ekranów ustaw rozmiary czcionek, które będą łatwo czytelne. W razie potrzeby ustaw większe rozmiary czcionek.
Ruch
Nagraj animację działania każdej funkcji, w tym interakcji dotykowych. Eksportuj nagrania jako pliki Lottie .
Ekran zakończenia
Ekran zakończenia kończy proces. Wskazuje użytkownikom, że przeszli przez wszystkie ekrany.
Układ
Animacja urządzenia zawsze składa się z:
- Półkola w tle (plus animowane kształty)
- Rama urządzenia
- Treść interfejsu użytkownika
Stylizacja
- Wybierz kolor tła, który dobrze współgra z zawartością interfejsu użytkownika i ogólnym wyglądem.
- Użyj kształtu półkola.
Ruch
Postępuj zgodnie ze standardową animacją ekranu zakończenia:
- Telefon komórkowy podnosi się nieco.
- W tle pojawi się okrąg.
- Kształty wyłaniają się zza telefonu komórkowego.
- Kształty wylatują z tła jak konfetti.
Przetestuj przepływ zaproszeń do aktualizacji
- Na urządzeniu z Androidem wybierz: Ustawienia > Google > Debugowanie uaktualnienia Party .
- Przygotuj wyzwalacz zaproszenia do aktualizacji dla odpowiedniego systemu operacyjnego urządzenia (w zależności od bieżącej wersji systemu operacyjnego i konkretnego procesu zaproszenia do aktualizacji do przetestowania. Albo:
- Kliknij opcję Zapisz fałszywą aktualizację (aktualna wersja) . (na przykład, jeśli używasz systemu operacyjnego Android 13, uruchomi to proces testowy Androida 13)
- Kliknij opcję Zapisz oczekującą aktualizację (bieżąca wersja + 1) . (na przykład, jeśli używasz systemu operacyjnego Android 12, uruchomi to proces testowy Androida 13)
- Kliknij opcję Zgłoś aktualizację systemu operacyjnego
- Kliknij otrzymane powiadomienie lub kliknij Otwórz zaproszenie do aktualizacji.
Opcje wyzwalania zaproszenia do aktualizacji
Istnieją 3 różne sposoby wyzwalania przepływu zaproszenia do aktualizacji: 1. automatyczne 2. transmisja 3. Uruchomiony pakiet SDK Usług Play
Automatycznie — powiadomienie uruchamiane przez Google (tylko dla urządzeń z systemem gOTA)
W przypadku urządzeń OEM obsługujących gOTA integracja przebiega automatycznie i nie są wymagane żadne kroki integracji w ramach programu Upgrade Invite. Po wykryciu oczekującej ważnej aktualizacji systemu operacyjnego na urządzenie zostanie wysłane powiadomienie push z usług Google Play, co doprowadzi do zaproszenia do aktualizacji.
Transmisja w systemie Android — powiadomienie uruchamiane przez Google (zalecane)
Transmisja aplikacji to najprostszy i zalecany sposób integracji procesu zaproszeń do aktualizacji.
Odbiornik transmisji umożliwia wyzwolenie przepływu zaproszenia do aktualizacji z aplikacji za pomocą wiadomości rozgłoszeniowej. Transmisja wysyła na urządzenie powiadomienie push z usług Google Play, co prowadzi do przepływu zaproszenia do aktualizacji.
Warunki wstępne transmisji
Aby przygotować aplikację, wykonaj kroki opisane w poniższych sekcjach.
Upewnij się, że pliki konfiguracyjne aplikacji używają następujących wartości:
- MinSdkVersion 14 lub nowszy
- KompilacjaSdkVersion w wersji 28 lub wyższej
- A usePermission Android.permission.RECOVERY
Wyślij transmisję
Zobacz poniżej instrukcje dotyczące aplikacji OEM (lub kodu), aby wysłać transmisję na Androida w celu uruchomienia powiadomienia push:
Wyślij transmisję z akcją.
com.google.android.gms.growth.upgradeparty.upgradeinvite.ACTION_SYSTEM_UPDATE
Dodaj pakiet
com.google.android.gms
do transmisji.com.google.android.gms
Dodatkowe wymagania
Proces zapraszania do aktualizacji umożliwia także użytkownikom przeprowadzenie aktualizacji systemu operacyjnego bezpośrednio z poziomu tego procesu.
Aby to zadziałało, udostępnij niestandardową intencję, którą Google może wywołać z poziomu zaproszenia do uaktualnienia, która wyzwala pobieranie aktualizacji.
Przykładowe użycie transmisji
Zobacz następujący przykład transmisji aplikacji:
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);
Wartość klucza EXTRA_PENDING_ANDROID_OS_VERSION_NUMBER
jest liczbą całkowitą wskazującą oczekującą wersję systemu operacyjnego (w tym przykładzie instalowana wersja Androida to 14). Służy do określenia, który proces zaproszeń do aktualizacji zostanie uruchomiony.
Zestaw SDK Usług Play – tylko wyzwalanie przepływu
Zestaw SDK innej firmy umożliwia wyzwolenie przepływu zaproszenia do aktualizacji z poziomu aplikacji lub własnych powiadomień OTA. Użyj zewnętrznego interfejsu API innej firmy, aby aktywować sam proces zaproszeń do aktualizacji. Ta metoda jest mniej zalecana.
Warunki wstępne
Aby przygotować aplikację, wykonaj kroki opisane w poniższych sekcjach.
Upewnij się, że plik kompilacji aplikacji używa następujących wartości:
- MinSdkVersion 14 lub nowszy
- KompilacjaSdkVersion w wersji 28 lub wyższej
Skonfiguruj swoją aplikację
Aby skonfigurować aplikację:
1. Extract the library from the provided .zip file, and place it in your
magazyn. 2. Dodaj zależności pakietu SDK Google Growth do pliku Gradle na poziomie aplikacji modułu, zwykle app/build.gradle
:
dependencies {
implementation files('<PATH_TO_BINARY>/play-services-growth-16.1.0-eap04.aar')
}
Aby zapewnić zależności klienta, dołącz następujące biblioteki:
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
Inicjalizacja API
Aby zainicjować klienta, użyj klasy UpgradeParty:
import com.google.android.gms.growth.UpgradeParty; UpgradeParty.getClient(activity);
Parametr działania powinien być obiektem inicjującym działanie.
Funkcje API
Wynikowy UpgradePartyClient udostępnia następującą funkcjonalność.
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;
}
Zwraca zadanie , które asynchronicznie sprawdza, czy użytkownik kwalifikuje się do zaproszenia do uaktualnienia. Wynikowa wartość logiczna wskazuje, czy użytkownik jest uprawniony, czy nie.
wywołaj zaproszenie do aktualizacji
Task<Void> invokeUpgradeInvite();
Wywołuje działanie zaproszenia do aktualizacji. Wynikowy obiekt _Task _object wskazuje, czy wystąpił błąd podczas uruchamiania działania.
Kody błędów
Obie metody API mogą zakończyć się niepowodzeniem z wyjątkiem typu com.google.android.gms.common.api.ApiException . W takich przypadkach oczekuje się, że osoba wywołująca spróbuje ponownie później. Oczekiwane typowe kody stanu ) obejmują:
- INTERNAL_ERROR — w przypadku jakiegokolwiek błędu w przepływie logiki bazowej
- TIMEOUT - jeśli żądanie nie mogło zostać obsłużone w odpowiednim czasie
- API_NOT_CONNECTED - gdy API nie jest dostępne (czyli moduł UpgradeParty nie jest jeszcze gotowy)
- NETWORK_ERROR — żądanie nie mogło zostać obsłużone z powodu błędów sieci
- DEVELOPER_ERROR — pakiet wywołujący nie ma dostępu do API UpgradeParty
Przykładowe użycie 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);
}
});
}