Zaproszenie do aktualizacji to proces, który przedstawia najważniejsze nowe funkcje dostępne w obecnej głównej aktualizacji systemu operacyjnego Android.
Ma on przekonać użytkowników do uaktualnienia urządzenia do najnowszej wersji systemu operacyjnego.
Gdy na urządzeniu oczekuje na zatwierdzenie przez użytkownika aktualizacja systemu operacyjnego, użytkownicy otrzymują powiadomienie push z informacją o nowych funkcjach i prośbą o przeprowadzenie aktualizacji.
Producenci urządzeń mogą włączyć Upgrade Party na swoich urządzeniach z Androidem, przesyłając formularz prośby o aktywację zaproszenia do aktualizacji Androida.
Dostosowywanie zaproszenia do uaktualnienia
Zaproszenie do przejścia na wyższą wersję możesz dostosować na te sposoby:
- Usuń nieistotne funkcje.
- Zaktualizuj język w blokach tekstu.
- Modyfikuj animacje, kolory i czcionki, aby dopasować je do swojej marki.
Aby dostosować ten proces, zapoznaj się z wytycznymi w przewodniku po uaktualnianiu stylu zaproszenia i podaj informacje o dostosowaniu w odpowiedzi na formularz.
Przewodnik dotyczący stylu zaproszeń do uaktualnienia
Skorzystaj z tego przewodnika po stylach, aby dostosować wygląd zaproszenia do przejścia na wyższą wersję do swojej marki (ekrany, kolory, czcionki). Zdecydowanie zalecamy zachowanie rozmiarów i struktury zbliżonych do oryginalnego projektu.
Proces zaproszenia do przekształcenia kampanii obejmuje te 3 elementy:
- Ekran wprowadzenia
- Ekran funkcji
- Ekran zakończenia
Animacja na każdym ekranie pomaga wyjaśnić każdą funkcję.
Ekran wprowadzenia
Ekran wprowadzający zawiera krótką animację, która wita użytkownika i zachęca go do rozpoczęcia procesu wyświetlanego na tym ekranie.
Układ
Animacja urządzenia zawsze składa się z:
- Białe tło i kolorowe kształty
- Ramka urządzenia
- Treści interfejsu
Stylizacja
Jeśli zdecydujesz się dostosować styl Material You, możesz użyć domyślnych kolorów i kształtów widocznych w przykładzie.
Jeśli używasz koloru marki, upewnij się, że dobrze komponuje się on z tłem interfejsu.
Ruch
Opcja 1. Z zegarem na ekranie głównym
- Na ekranie pojawiają się liczby.
- Liczby przesuwają się na środek, zmniejszając się. Pojawi się ramka telefonu komórkowego.
- Telefon zmniejsza się. Kształty zaczynają pojawiać się na ekranie.
- Animacja została zakończona. Kształty delikatnie się poruszają.
|
|
Opcja 2. Brak zegara na ekranie głównym
- Telefon komórkowy wjeżdża na ekran.
- Telefon przesuwa się na środek i zwiększa swój rozmiar. Kształty zaczynają pojawiać się na ekranie.
- Telefon osiąga maksymalny rozmiar, a kształty nadal się poruszają.
|
|
Ekran funkcji
Każdy ekran funkcji podkreśla jedną z funkcji nowego systemu operacyjnego.
Układ
Animacja urządzenia zawsze składa się z:
- Kolorowe tło
- Ramka urządzenia
- Treści interfejsu
Stylizacja
- Wybierz kolor tła, który dobrze pasuje do treści interfejsu i ogólnego wyglądu.
- Na ekranach ustaw rozmiary czcionek, które są łatwe do odczytania. W razie potrzeby ustaw większy rozmiar czcionki.
Ruch
Nagrywaj animację przepływu każdej funkcji, w tym interakcji dotykowych. Wyeksportuj nagrania jako pliki Lottie.
Ekran zakończenia
Ekran końcowy zamyka proces. Informuje użytkowników, że przeszli wszystkie ekrany.
Układ
Animacja urządzenia zawsze składa się z:
- Półokrąg w tle (plus animowane kształty)
- Ramka urządzenia
- Treści interfejsu
Stylizacja
- Wybierz kolor tła, który dobrze pasuje do treści interfejsu i ogólnego wyglądu.
- Użyj kształtu półkola.
Ruch
Postępuj zgodnie ze standardową procedurą animacji ekranu końcowego:
- Telefon komórkowy przesuwa się nieco w górę.
- W tle pojawi się okrąg.
- Kształty pojawiają się zza telefonu komórkowego.
- Kształty wylatują z tła jak konfetti.
|
|
Testowanie procesu zapraszania do uaktualnienia
- Na urządzeniu z Androidem otwórz Ustawienia > Google > Debugowanie Upgrade Party.
- Przygotuj wyzwalacz zaproszenia do aktualizacji dla odpowiedniego systemu operacyjnego urządzenia (w zależności od bieżącej wersji systemu operacyjnego i konkretnego przepływu zaproszenia do aktualizacji, który chcesz przetestować). Wykonaj 1 z tych czynności:
- Kliknij Write Fake upgrade (current version) (Napisz fałszywą licencję (bieżąca wersja)). (na przykład jeśli używasz systemu operacyjnego Android 13, uruchomi to test Androida 13);
- Kliknij Zapisz oczekujące uaktualnienie (bieżąca wersja + 1). (na przykład jeśli używasz systemu operacyjnego Android 12, spowoduje to uruchomienie testu Androida 13).
- Kliknij Zgłoś uaktualnienie systemu operacyjnego.
- Kliknij otrzymane powiadomienie lub Otwórz zaproszenie do przejścia na wyższą wersję.
Opcje reguły zaproszenia do przejścia na wyższy pakiet
Istnieją 3 sposoby wywoływania procesu zaproszenia do przejścia na wyższą wersję: automatyczny, transmisja i Pakiet SDK Usług Play został wywołany
Automatyczne – powiadomienie wywoływane przez Google (tylko w przypadku urządzeń z gOTA)
W przypadku urządzeń OEM z gOTA integracja jest automatyczna i nie wymaga wykonania żadnych czynności związanych z integracją zaproszenia do aktualizacji. Gdy zostanie wykryta oczekująca główna aktualizacja systemu operacyjnego, usługi Google Play wyślą na urządzenie powiadomienie push, które spowoduje przejście do procesu zaproszenia do aktualizacji.
Broadcast w Androidzie – powiadomienie wywoływane przez Google (zalecane)
Transmisja aplikacji to najprostszy i zalecany sposób integracji procesu zapraszania do uaktualnienia.
Odbiornik transmisji umożliwia wywoływanie w aplikacji procesu zaproszenia do uaktualnienia za pomocą wiadomości rozgłoszeniowej. Usługi Google Play wysyłają na urządzenie powiadomienie push, które uruchamia proces zapraszania do uaktualnienia.
Wymagania wstępne dotyczące transmisji
Aby przygotować aplikację, wykonaj czynności opisane w poniższych sekcjach.
Sprawdź, czy w plikach konfiguracyjnych Twojej aplikacji znajdują się te wartości:
- wartość minSdkVersion wynosząca co najmniej 14,
- compileSdkVersion w wersji 28 lub nowszej.
- używa uprawnienia android.permission.RECOVERY;
Wysyłanie wiadomości
Poniżej znajdziesz instrukcje dotyczące wysyłania przez aplikację (lub kod) producenta OEM transmisji na Androida, która wywoła powiadomienie push:
Wysyłanie transmisji z działaniem.
com.google.android.gms.growth.upgradeparty.upgradeinvite.ACTION_SYSTEM_UPDATEDodaj pakiet
com.google.android.gmsdo transmisji.com.google.android.gms
Dodatkowe wymagania
Proces zaproszenia do uaktualnienia umożliwia też użytkownikom bezpośrednie uaktualnienie systemu operacyjnego.
Aby to działało, udostępnij niestandardowy zamiar, który Google może wywołać z przepływu zaproszenia do uaktualnienia, co spowoduje pobranie aktualizacji.
Przykładowe użycie transmisji
Oto 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 to liczba całkowita wskazująca oczekującą wersję systemu operacyjnego (w tym przykładzie wersja Androida, która ma zostać zainstalowana, to 14). Służy do określania, który proces zaproszenia do uaktualnienia zostanie uruchomiony.
Pakiet SDK Usług Play – tylko wywoływanie procesu
Pakiet SDK innej firmy umożliwia wywoływanie procesu zaproszenia do uaktualnienia z poziomu aplikacji lub własnych powiadomień OTA. Użyj zewnętrznego interfejsu API innej firmy, aby aktywować sam proces zaproszenia do uaktualnienia. Ta metoda jest mniej zalecana.
Wymagania wstępne
Aby przygotować aplikację, wykonaj czynności opisane w poniższych sekcjach.
Sprawdź, czy w pliku kompilacji Twojej aplikacji znajdują się te wartości:
- wartość minSdkVersion wynosząca co najmniej 14,
- compileSdkVersion w wersji 28 lub nowszej.
Konfigurowanie aplikacji
Aby skonfigurować aplikację:
1. Extract the library from the provided .zip file, and place it in your
repozytorium.
2. Dodaj zależności dla pakietu Google Growth SDK 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 podać zależności klienta, uwzględnij te 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
Inicjowanie interfejsu API
Aby zainicjować klienta, użyj klasy UpgradeParty:
import com.google.android.gms.growth.UpgradeParty; UpgradeParty.getClient(activity);Parametr działania powinien być obiektem działania inicjującego.
Funkcje interfejsu API
Powstały obiekt UpgradePartyClient udostępnia te funkcje:
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 Task, który asynchronicznie sprawdza, czy użytkownik kwalifikuje się do otrzymania zaproszenia do uaktualnienia. Wynikowa wartość logiczna wskazuje, czy użytkownik kwalifikuje się do udziału w programie.
invokeUpgradeInvite
Task<Void> invokeUpgradeInvite();
Wywołuje aktywność zaproszenia do uaktualnienia. Wynikowy obiekt _Task_ wskazuje, czy podczas rozpoczynania aktywności wystąpił błąd.
Kody błędów
Obie metody interfejsu API mogą zakończyć się niepowodzeniem z wyjątkiem typu com.google.android.gms.common.api.ApiException. W takich przypadkach wywołujący powinien spróbować ponownie później. Oczekiwane kody stanu to:
- INTERNAL_ERROR – w przypadku dowolnego błędu w przepływie logiki bazowej.
- TIMEOUT – jeśli nie udało się obsłużyć żądania w odpowiednim czasie.
- API_NOT_CONNECTED – gdy interfejs API jest niedostępny (czyli moduł UpgradeParty nie jest jeszcze gotowy).
- NETWORK_ERROR – nie udało się obsłużyć żądania z powodu błędów sieci.
- DEVELOPER_ERROR – pakiet wywołujący nie ma dostępu do interfejsu UpgradeParty API.
Przykładowe użycie pakietu 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);
}
});
}