Zaproszenie do uaktualnienia to proces, który pokazuje najważniejsze nowe funkcje dostępne w obecnej głównej aktualizacji systemu operacyjnego Android.
Ma on przekonać użytkowników do zaktualizowania urządzenia do najnowszej wersji systemu operacyjnego.
Gdy aktualizacja systemu operacyjnego urządzenia oczekuje na zatwierdzenie przez użytkownika, wysyłamy powiadomienie push z informacją o nowych funkcjach i zaproszeniem do przeprowadzenia aktualizacji.
Producenci urządzeń mogą włączyć Upgrade Party na swoich urządzeniach z Androidem, przesyłając formularz prośby o aktywowanie zaproszenia do aktualizacji Androida.
Dostosowywanie zaproszenia do przejścia na płatną wersję
Możesz dostosować proces Upgrade Invite na te sposoby:
- Usuń nieistotne funkcje.
- Zaktualizuj język w blokach tekstowych.
- Zmień animacje, kolory i czcionki, aby pasowały do Twojej marki.
Aby dostosować proces, zapoznaj się z wytycznymi w przewodniku po stylach zaproszeń na wyższy poziom i podaj informacje o dostosowaniu w odpowiedzi na formularz.
Poradnik dotyczący stylu zaproszenia do przejścia na wyższą wersję
Za pomocą tego przewodnika możesz zmodyfikować wygląd zaproszenia do przejścia na wersję premium, aby pasował do Twojej marki (ekrany, kolory, czcionki). Zdecydowanie zalecamy, aby rozmiary i strukturę pozostawić zbliżone do pierwotnego projektu.
Proces zaproszenia do skorzystania z usługi zawiera 3 elementy:
- Ekran wprowadzenia
- Ekran funkcji
- Ekran zakończenia
Animacja na każdym ekranie pomaga wyjaśnić działanie poszczególnych funkcji.
Ekran wprowadzenia
Ekran powitalny zawiera krótką animację, która wita użytkownika i zachęca do rozpoczęcia procesu widocznego na tym ekranie.
Układ
Animacja urządzenia zawsze składa się z tych elementów:
- Białe tło i kolorowe kształty
- Ramka urządzenia
- Treści w interfejsie
Stylizacja
Jeśli zdecydujesz się na stylizację Material You, możesz użyć domyślnych kolorów i kształtów pokazanych w przykładzie.
Jeśli używasz własnego koloru marki, upewnij się, że pasuje on do tła interfejsu.
Ruch
Opcja 1. Z zegarem na ekranie głównym
- Na ekranie pojawiają się liczby.
- Liczby przesuwają się do środka, zmniejszając przy tym swoją wielkość. Pojawi się ramka telefonu komórkowego.
- Rozmiar telefonu się zmniejsza. Kształty zaczynają pojawiać się na ekranie.
- Animacja została zakończona. Kształty poruszają się powoli.
Opcja 2. Brak zegara na ekranie głównym
- Telefon komórkowy wchodzi w ramy ekranu.
- Telefon przesuwa się do środka, zwiększając przy tym 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 prezentuje funkcję w nowym systemie operacyjnym.
Układ
Animacja urządzenia zawsze składa się z tych elementów:
- Kolorowe tło
- Ramka urządzenia
- Treści w interfejsie
Stylizacja
- Wybierz kolor tła, który dobrze pasuje do treści interfejsu i ogólnego wyglądu.
- W przypadku ekranów ustaw rozmiary czcionek, które są łatwe do odczytania. W razie potrzeby ustaw większe rozmiary czcionek.
Ruch
Nagraj animację przepływu w przypadku każdej funkcji, w tym interakcji dotykowych. Wyeksportuj nagrania jako pliki Lottie.
Ekran zakończenia
Ekran outro kończy proces. Wskazuje użytkownikom, że przeszli przez wszystkie ekrany.
Układ
Animacja urządzenia zawsze składa się z tych elementów:
- Półkole w tle (oraz animowane kształty)
- Ramka urządzenia
- Treści w interfejsie
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
Wykonaj standardową animację ekranu końcowego:
- Telefon komórkowy przesuwa się nieco w górę.
- Na tle pojawi się kółko.
- Kształty pojawiają się za telefonem komórkowym.
- Kształty wylatują z tła jak konfetti.
Testowanie procesu zaproszenia do uaktualnienia
- Na urządzeniu z Androidem otwórz Ustawienia > Google > Debugowanie Upgrade Party.
- Przygotuj wyzwalacz dla zaproszenia do uaktualnienia na odpowiednim systemie operacyjnym urządzenia (w zależności od bieżącej wersji systemu operacyjnego i konkretnego przepływu zaproszenia do uaktualnienia, który chcesz przetestować). Wykonaj jedną z tych czynności:
- Kliknij Write Fake upgrade (current version) (Zapisz fałszywą aktualizację (obecna wersja)). (jeśli na przykład uruchomisz system operacyjny Android 13, uruchomi to proces testowania Androida 13)
- Kliknij Zapisać oczekujące uaktualnienie (bieżąca wersja + 1). (np. jeśli używasz systemu operacyjnego Android 12, uruchomi to proces testowania 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 dla zaproszenia do przejścia na wyższy poziom
Istnieją 3 sposoby wywołania procesu zaproszenia do przejścia na nową wersję: 1. automatycznie 2. w ramach transmisji 3. Uruchomiono pakiet SDK Usług Google Play
Automatyczne – powiadomienie wywołane przez Google (tylko na urządzeniach z gOTA)
W przypadku urządzeń OEM z gOTA integracja jest automatyczna i nie wymaga żadnych czynności. Po wykryciu oczekującej dużej aktualizacji systemu operacyjnego usługa Google Play wyśle na urządzenie powiadomienie push, które przekieruje Cię do procesu aktualizacji.
Android Broadcast – powiadomienie wywołane przez Google (zalecane)
Transmisja aplikacji to najprostszy i najbardziej zalecany sposób integracji procesu ulepszania za pomocą zaproszenia.
Odbiornik transmisji umożliwia uruchomienie procesu zaproszenia do uaktualnienia w aplikacji za pomocą wiadomości przesyłanej do wszystkich użytkowników. Transmisja wysyła powiadomienie push do urządzenia z Usługami Google Play, co prowadzi do wyświetlenia zaproszenia do uaktualnienia.
Wymagania wstępne dotyczące transmisji
Aby przygotować aplikację, wykonaj czynności opisane w poniższych sekcjach.
Sprawdź, czy w plikach konfiguracji aplikacji występują te wartości:
- wartość minSdkVersion = 14 lub wyższa,
- compileSdkVersion 28 lub nowsza.
- Uprawnienie usesPermission o nazwie android.permission.RECOVERY
Wysyłanie wiadomości
Poniżej znajdziesz instrukcje dotyczące aplikacji OEM (lub kodu) umożliwiające wysłanie transmisji na Androida, aby wywołać powiadomienie push:
Wyślij transmisję z działaniem.
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 zaproszenia do uaktualnienia umożliwia użytkownikom uaktualnienie systemu operacyjnego bezpośrednio w ramach tego procesu.
Aby to zadziałało, udostępnij intencję niestandardową, którą Google może wywołać z poziomu przepływu danych Upgrade Invite, który uruchamia pobieranie aktualizacji.
Przykład użycia 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 zainstalowana wersja Androida to 14). Służy do określenia, który proces zaproszenia do uaktualnienia zostanie uruchomiony.
Pakiet SDK Usług Google Play – tylko uruchamianie przepływu
Pakiet SDK zewnętrznego dewelopera umożliwia uruchamianie procesu zaproszenia do uaktualnienia z aplikacji lub za pomocą własnych powiadomień OTA. Użyj zewnętrznego interfejsu API innej firmy, aby aktywować proces zaproszenia do ulepszonej wersji. 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 = 14 lub wyższa,
- compileSdkVersion 28 lub nowsza.
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 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 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 activity powinien być inicjującym obiektem Activity.
Funkcje interfejsu API
Wynikowa klasa 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 przejścia na wyższy poziom. 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 uruchamiania aktywności wystąpił błąd.
Kody błędów
Obie metody interfejsu API mogą się nie udać, jeśli wystąpi wyjątek typu com.google.android.gms.common.api.ApiException. W takich przypadkach dzwoniący powinien spróbować ponownie później. Typowe kody stanu:
- INTERNAL_ERROR – w przypadku błędów w podstawowym procesie logicznym.
- LIMIT CZASOWY – jeśli żądanie nie zostało obsłużone w odpowiednim czasie.
- API_NOT_CONNECTED – gdy interfejs API jest niedostępny (czyli moduł UpgradeParty nie jest jeszcze gotowy).
- NETWORK_ERROR – żądanie nie zostało obsłużone z powodu błędów sieciowych.
- DEVELOPER_ERROR – pakiet wywołujący nie ma dostępu do interfejsu UpgradeParty API.
Przykład użycia 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);
}
});
}