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 z informacjami o nowych funkcjach i zaproszeniem do przeprowadzenia aktualizacji.
Aby włączyć funkcję Upgrade Invite w systemie operacyjnym Android, zarejestruj się, korzystając z tego formularza.
Dostosowywanie zaproszenia do przejścia na płatną wersję
Możesz dostosować proces zaproszenia do korzystania z ulepszonej wersji w następujące sposoby:
- Usuń nieistotne funkcje.
- Zaktualizuj język w blokach tekstu.
- Dostosuj animacje, kolory i czcionki, aby pasowały do Twojej marki.
Aby dostosować proces, zapoznaj się z wytycznymi w przewodniku po stylach zaproszenia do uaktualnienia i podaj informacje o dostosowaniu w formularzu prośby o aktywowanie zaproszenia do uaktualnienia na Androida.
Poradnik dotyczący stylu zaproszenia do uaktualnienia
Skorzystaj z tego przewodnika stylistycznego, by dostosować wygląd zaproszenia do przejścia na nową wersję, aby pasował do Twojej marki (ekrany, kolory, czcionki). Zdecydowanie zalecamy, aby rozmiar i struktura były zbliżone do oryginalnego projektu.
Proces zapraszania do uaktualnienia obejmuje te 3 komponenty:
- Ekran wprowadzający
- Ekran funkcji
- Ekran zakończenia
Animacja na każdym ekranie pomaga wyjaśnić działanie poszczególnych funkcji.
Ekran wprowadzający
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 zawiera:
- Białe tło i kolorowe kształty
- Ramka urządzenia
- Treść interfejsu
Stylizacja
Jeśli zdecydujesz się na dostosowanie stylu Material You, możesz użyć domyślnych kolorów i kształtów pokazanych w przykładzie.
Jeśli używasz koloru własnego marki, dopilnuj, aby współgrał z tłem interfejsu użytkownika.
Ruch
Opcja 1. Z zegarem na ekranie głównym
- Na ekranie pojawią się liczby.
- Liczby przesuwają się do środka, zmniejszając przy tym swoją wielkość. Pojawi się ramka telefonu komórkowego.
- Telefon staje się pomniejszony. Kształty zaczynają pojawiać się na ekranie.
- Animacja została zakończona. Kształty poruszają się wciąż delikatnie.
Opcja 2. Brak zegara na ekranie głównym
- Telefon komórkowy wchodzi w ramy ekranu.
- Telefon przesuwa się na środek, a tym samym powiększa. Kształty zaczynają pojawiać się na ekranie.
- Telefon osiąga maksymalny rozmiar, a kształty nadal się poruszają.
Ekran funkcji
Każdy ekran funkcji przedstawia funkcje wprowadzone w nowym systemie operacyjnym.
Układ
Animacja urządzenia zawsze składa się z tych elementów:
- Kolorowe tło
- Ramka urządzenia
- Treść interfejsu
Stylizacja
- Wybierz kolor tła, który dobrze pasuje do treści interfejsu i ogólnego wyglądu.
- Ustaw na ekranach czytelne rozmiary czcionek. W razie potrzeby ustaw większe rozmiary czcionek.
Ruch
Nagraj animację przepływu danych w przypadku każdej funkcji, w tym interakcji dotykiem. Wyeksportuj nagrania jako pliki Lottie.
Ekran zakończenia
Ekran outro kończy proces. Informuje ona użytkowników o przejściu przez wszystkie ekrany.
Układ
Animacja urządzenia zawsze składa się z:
- Półokrąg na tle (plus animowane kształty)
- Ramka urządzenia
- Treść interfejsu
Styl
- 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ę.
- W tle pojawi się okrąg.
- Kształty pojawiają się za telefonem.
- 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 aktywator do zaproszenia do przejścia na wyższą wersję dla danego systemu operacyjnego urządzenia (w zależności od obecnej wersji systemu operacyjnego i konkretnego procesu zaproszenia do przejścia na wyższą wersję do przetestowania. Wykonaj jedną z tych czynności:
- Kliknij Write Fake upgrade (current version) (Napisz fałszywą aktualizację (obecna wersja)). (jeśli na przykład uruchomisz system operacyjny Android 13, uruchomi to przepływ testów Androida 13).
- Kliknij Zapisz oczekujące uaktualnienie (bieżąca wersja + 1). (np. jeśli używasz Androida 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 aktywatora dla opcji Zaproś do przejścia na wyższy pakiet
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.
Przesyłanie na Androida – powiadomienie uruchomione przez Google (zalecane)
Transmisja aplikacji to najprostszy i zalecany sposób na zintegrowanie 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 uruchomienia procesu zaproszenia do uaktualnienia.
Wymagania wstępne dotyczące transmisji
Aby przygotować aplikację, wykonaj czynności opisane w poniższych sekcjach.
Upewnij się, że pliki konfiguracji aplikacji zawierają te wartości:
- wartość minSdkVersion = 14 lub wyższa,
- compileSdkVersion 28 lub nowsza.
- Uprawnienie usesPermission o nazwie android.permission.RECOVERY
Wysyłanie transmisji
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 z tego procesu.
Aby to zadziałało, udostępnij niestandardowy zamiar, który 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 wersja Androida do zainstalowania 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 Ci uruchamianie procesu zaproszenia do uaktualnienia z poziomu aplikacji lub 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:
- Wersja minSdkVersion w wersji 14 lub nowszej
- 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 aktywności powinien być obiektem inicjującym aktywność.
Funkcje interfejsu API
Uzyskany obiekt UpgradePartyClient udostępnia te funkcje.
isEligibleForUpgradeInvite (w języku angielskim)
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. Wygenerowany obiekt _Task _wskazuje, czy podczas uruchamiania aktywności wystąpił błąd.
Kody błędów
Obie metody interfejsu API mogą się nie udać z wyjątkiem typu com.google.android.gms.common.api.ApiException. W takich przypadkach dzwoniący powinien spróbować ponownie później. Typowe kody stanu:
- INTERNAL_ERROR (BŁĄD_WEWNĘTRZNY) – oznacza dowolny błąd w przepływie działania logiki.
- 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);
}
});
}