Undangan Upgrade adalah alur pengguna yang menampilkan fitur baru utama yang disertakan dalam upgrade OS Android utama yang tersedia saat ini.
Alur ini dimaksudkan untuk membantu meyakinkan pengguna agar mengupgrade perangkat mereka ke versi OS terbaru.
Setelah upgrade OS tertunda persetujuan pengguna, pengguna akan menerima notifikasi push yang menampilkan fitur baru dan mengundang mereka untuk melakukan upgrade.
Produsen perangkat dapat mengaktifkan Pesta Upgrade untuk perangkat Android OS mereka dengan mengirimkan formulir Permintaan untuk mengaktifkan Undangan Upgrade Android.
Menyesuaikan pengalaman Undangan Upgrade
Anda dapat menyesuaikan pengalaman Undangan Upgrade dengan cara berikut:
- Hapus fitur yang tidak relevan.
- Perbarui bahasa di blok teks.
- Ubah animasi, warna, dan font agar sesuai dengan merek Anda.
Untuk menyesuaikan alur, tinjau pedoman dalam Panduan Gaya Undangan Upgrade dan sertakan informasi penyesuaian Anda dalam respons formulir.
Panduan Gaya Undangan Upgrade
Gunakan panduan gaya ini untuk mengubah tampilan Undangan Upgrade agar sesuai dengan merek Anda sendiri (layar, warna, font). Sebaiknya pertahankan ukuran dan struktur yang mendekati desain aslinya.
Alur Undangan Upgrade memiliki tiga komponen berikut:
- Layar intro
- Layar fitur
- Layar outro
Animasi di setiap layar membantu menjelaskan setiap fitur.
Layar intro
Layar pengantar berisi animasi singkat yang menyambut pengguna dan mendorong mereka untuk memulai alur yang ditampilkan di layar pengantar.
Tata Letak
Animasi perangkat selalu terdiri dari:
- Latar belakang putih dan bentuk warna-warni
- Frame perangkat
- Konten UI
Penataan gaya
Jika memilih untuk menyesuaikan gaya Material You, Anda dapat menggunakan warna dan bentuk default yang ditampilkan dalam contoh.
Jika Anda menggunakan warna merek Anda sendiri, pastikan warna tersebut cocok dengan latar belakang UI.
Gerakan
Opsi 1: Dengan jam di layar utama
- Angka muncul di layar.
- Angka bergerak ke tengah sambil ukurannya mengecil. Frame ponsel akan muncul.
- Ukuran ponsel akan berkurang. Bentuk mulai memasuki layar.
- Animasi selesai. Bentuk terus bergerak perlahan.
|
|
Opsi 2: Tidak ada jam di layar utama
- Ponsel memasuki layar.
- Ponsel bergerak ke tengah sambil bertambah ukurannya. Bentuk mulai masuk ke layar.
- Ponsel mencapai ukuran maksimum dan bentuk terus bergerak.
|
|
Layar fitur
Setiap layar fitur menyoroti fitur di OS baru.
Tata Letak
Animasi perangkat selalu terdiri dari:
- Latar belakang warna-warni
- Frame perangkat
- Konten UI
Penataan gaya
- Pilih warna latar belakang yang cocok dengan konten UI dan tampilan umum.
- Di dalam layar, tetapkan ukuran font yang mudah dibaca. Jika perlu, tetapkan ukuran font yang lebih besar.
Gerakan
Rekam animasi alur setiap fitur, termasuk interaksi sentuh. Ekspor rekaman sebagai file Lottie.
Layar outro
Layar outro menyelesaikan alur. Hal ini menunjukkan kepada pengguna bahwa mereka telah membuka semua layar.
Tata Letak
Animasi perangkat selalu terdiri dari:
- Setengah lingkaran di latar belakang (plus bentuk animasi)
- Frame perangkat
- Konten UI
Penataan gaya
- Pilih warna latar belakang yang cocok dengan konten UI dan tampilan umum.
- Gunakan bentuk setengah lingkaran.
Gerakan
Ikuti alur animasi layar outro standar:
- Ponsel bergerak sedikit ke atas.
- Lingkaran akan muncul di latar belakang.
- Bentuk muncul dari belakang ponsel.
- Bentuk-bentuk tersebut keluar dari latar belakang seperti konfeti.
|
|
Menguji Alur Undangan Upgrade
- Di perangkat Android, buka: Setelan > Google > Upgrade Party debug.
- Siapkan pemicu untuk Ajak Upgrade untuk OS perangkat yang relevan
(bergantung pada versi OS Anda saat ini, dan alur Ajak Upgrade tertentu yang akan
diuji. Atau:
- Klik Write Fake upgrade (current version). (misalnya, jika Anda menjalankan OS Android 13, alur pengujian Android 13 akan dipicu)
- Klik Write pending upgrade (current version + 1). (misalnya, jika Anda menjalankan OS Android 12, hal ini akan memicu alur pengujian Android 13)
- Klik Laporkan upgrade OS
- Klik notifikasi yang diterima, atau klik Buka Undangan Upgrade.
Opsi pemicu untuk Undangan Upgrade
Ada 3 cara berbeda untuk memicu alur Undangan Upgrade: 1. otomatis 2. siaran 3. SDK Layanan Play dipicu
Otomatis - Notifikasi yang dipicu Google (khusus untuk perangkat yang menjalankan gOTA)
Untuk perangkat OEM yang menjalankan gOTA, integrasi dilakukan secara otomatis dan tidak diperlukan langkah-langkah integrasi Undangan Upgrade. Setelah upgrade OS utama yang tertunda terdeteksi, notifikasi push akan dikirim ke perangkat dari layanan Google Play, yang mengarah ke alur Undangan Upgrade.
Siaran Android - Notifikasi yang dipicu Google (Direkomendasikan)
Siaran aplikasi adalah cara termudah dan direkomendasikan untuk mengintegrasikan alur Undangan Upgrade.
Penerima siaran memungkinkan Anda memicu alur Undangan Upgrade dari aplikasi menggunakan pesan siaran. Siaran mengirimkan notifikasi push ke perangkat dari layanan Google Play, yang mengarah ke alur Undangan Upgrade.
Prasyarat Siaran
Untuk mempersiapkan aplikasi Anda, selesaikan langkah-langkah di bagian berikut ini.
Pastikan file konfigurasi aplikasi Anda menggunakan nilai berikut:
- minSdkVersion 14 atau yang lebih tinggi
- compileSdkVersion 28 atau yang lebih tinggi
- usesPermission android.permission.RECOVERY
Mengirim Siaran
Lihat petunjuk di bawah untuk aplikasi (atau kode) OEM guna mengirim siaran Android untuk memicu notifikasi push:
Kirim siaran dengan tindakan.
com.google.android.gms.growth.upgradeparty.upgradeinvite.ACTION_SYSTEM_UPDATETambahkan paket
com.google.android.gmske siaran.com.google.android.gms
Persyaratan tambahan
Alur Undangan Upgrade juga memungkinkan pengguna melakukan upgrade OS secara langsung dari alur tersebut.
Agar ini berfungsi, ekspos maksud kustom yang dapat dipanggil Google dari alur Undangan Upgrade yang memicu download update.
Contoh Penggunaan Siaran
Lihat contoh siaran aplikasi berikut:
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);
Nilai kunci EXTRA_PENDING_ANDROID_OS_VERSION_NUMBER adalah Integer
yang menunjukkan versi OS yang tertunda (dalam contoh ini, versi Android yang akan
diinstal adalah 14). Ini digunakan untuk menentukan alur Undangan Upgrade mana yang akan dipicu.
SDK Layanan Play - hanya pemicuan alur
SDK pihak ketiga memungkinkan Anda memicu alur Undangan Upgrade dari aplikasi atau notifikasi OTA Anda sendiri. Gunakan API eksternal pihak ketiga untuk mengaktifkan alur Undangan Upgrade itu sendiri. Metode ini kurang direkomendasikan.
Prasyarat
Untuk mempersiapkan aplikasi Anda, selesaikan langkah-langkah di bagian berikut ini.
Pastikan bahwa file build aplikasi Anda menggunakan nilai berikut:
- minSdkVersion 14 atau yang lebih tinggi
- compileSdkVersion 28 atau yang lebih tinggi
Mengonfigurasi aplikasi Anda
Untuk mengonfigurasi aplikasi:
1. Extract the library from the provided .zip file, and place it in your
repositori.
2. Tambahkan dependensi untuk Google Growth SDK ke file Gradle tingkat aplikasi modul Anda, biasanya app/build.gradle:
dependencies {
implementation files('<PATH_TO_BINARY>/play-services-growth-16.1.0-eap04.aar')
}
Untuk menyediakan dependensi klien, sertakan library berikut:
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
Inisialisasi API
Untuk melakukan inisialisasi klien, gunakan class UpgradeParty:
import com.google.android.gms.growth.UpgradeParty; UpgradeParty.getClient(activity);Parameter aktivitas harus berupa objek Aktivitas yang memulai.
Fungsi API
UpgradePartyClient yang dihasilkan mengekspos fungsi berikut.
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;
}
Menampilkan Task yang secara asinkron memverifikasi apakah pengguna memenuhi syarat untuk mendapatkan Undangan Upgrade. Nilai boolean yang dihasilkan menunjukkan apakah pengguna memenuhi syarat atau tidak.
invokeUpgradeInvite
Task<Void> invokeUpgradeInvite();
Memanggil Aktivitas Undangan Upgrade. Objek _Task _yang dihasilkan menunjukkan apakah terjadi error saat memulai aktivitas.
Kode Error
Kedua metode API dapat gagal dengan pengecualian jenis com.google.android.gms.common.api.ApiException. Dalam kasus tersebut, pemanggil diharapkan mencoba lagi nanti. Kode status umum yang diharapkan mencakup:
- INTERNAL_ERROR - untuk error apa pun dalam alur logika yang mendasarinya
- TIMEOUT - jika permintaan tidak dapat ditangani secara tepat waktu
- API_NOT_CONNECTED - saat API tidak tersedia (yaitu, modul UpgradeParty belum siap)
- NETWORK_ERROR - permintaan tidak dapat ditangani karena error jaringan
- DEVELOPER_ERROR - paket pemanggil tidak diizinkan untuk mengakses UpgradeParty API
Contoh Penggunaan 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);
}
});
}