Setelah mengintegrasikan SDK, Anda dapat mengonfigurasi daftar putih peningkatan, memeriksa pembaruan, dan menampilkan prompt kepada pengguna sesuai kebutuhan.
Tetapkan daftar putih
Tetapkan ID pengguna untuk daftar putih sebagai berikut:
MPLogger.setUserId("your_whitelist_id");Periksa versi baru
Untuk memeriksa versi baru secara cepat dan menampilkan notifikasi pop-up:
CatatanMetode ini hanya menampilkan pop-up peningkatan cepat dan tidak mencakup logika peningkatan paksa. Untuk menerapkan peningkatan paksa, Anda harus mengimplementasikan peningkatan kustom.
MPUpgrade mMPUpgrade = new MPUpgrade(); mMPUpgrade.fastCheckNewVersion(activity, drawable);Untuk memeriksa versi baru secara cepat dan hanya mengembalikan hasil pemeriksaan:
MPUpgrade mMPUpgrade = new MPUpgrade(); // Metode sinkron. Panggil di subthread. int result = mMPUpgrade.fastCheckHasNewVersion(); if (result == UpgradeConstants.HAS_NEW_VERSION) { // Versi baru tersedia. } else if (result == UpgradeConstants.HAS_NO_NEW_VERSION) { // Tidak ada versi baru yang tersedia. } else if (result == UpgradeConstants.HAS_SOME_ERROR) { // Terjadi kesalahan. }
Dapatkan informasi peningkatan detail
Panggil metode fastGetClientUpgradeRes untuk memperoleh detail lebih lanjut:
MPUpgrade mMPUpgrade = new MPUpgrade();
// Metode sinkron. Panggil di subthread.
ClientUpgradeRes clientUpgradeRes = mMPUpgrade.fastGetClientUpgradeRes();Tanggapan berisi informasi seperti nomor versi baru dan URL unduhan. Daftar berikut menjelaskan beberapa parameter tersebut:
downloadURL: URL unduhan.guideMemo: Informasi peningkatan.newestVersion: Versi terbaru.resultStatus: Mode peningkatan.202 menunjukkan pengingat satu kali.
204 menunjukkan pengingat berulang.
203/206 menunjukkan peningkatan paksa.
fileSize: Ukuran file yang akan diunduh.
Pemeriksaan kustom lainnya
Untuk opsi kustomisasi lebih lanjut, lihat contoh berikut:
Anda dapat mengimplementasikan antarmuka
MPaaSCheckCallBackuntuk merespons permintaan dari SDK peningkatan, seperti menampilkan kotak dialog pop-up:MPUpgrade mMPUpgrade = new MPUpgrade(); mMPUpgrade.setUpgradeCallback(new MPaaSCheckVersionService.MPaaSCheckCallBack() { ......... });Panggil metode
MPUpgrade.checkNewVersionuntuk memeriksa informasi peningkatan.MPUpgrademengenkapsulasi panggilan keMPaaSCheckVersionService. Anda juga dapat membuat implementasi kustom. Untuk informasi selengkapnya tentangMPaaSCheckVersionServicedanMPaaSCheckCallBack, lihat Referensi API.
Kustomisasi folder unduhan untuk paket instalasi (didukung pada versi 10.1.60 dan seterusnya)
Konfigurasikan sebagai berikut:
File dir = getApplicationContext().getExternalFilesDir("custom_folder");
MPUpgrade mpUpgrade = new MPUpgrade();
mpUpgrade.setDownloadPath(dir.getAbsolutePath());Selain itu, tambahkan konfigurasi berikut ke file file_path.xml:
// external-files-path sesuai dengan folder getExternalFilesDir.
// Gunakan elemen yang sesuai dengan folder kustom Anda. Jika Anda tidak yakin memilih yang mana, cari "Adapt to File Provider".
<external-files-path
name="download"
path="custom_folder" />Kustomisasi Notifikasi
MPUpgrade mMPUpgrade = new MPUpgrade();
mMPUpgrade.setShowDefaultNotification(false);// Tetapkan true untuk menampilkan notifikasi unduhan default, atau false untuk menggunakan notifikasi unduhan kustom.
mMPUpgrade.update(clientUpgradeRes, new UpgradeDownloadCallback() {
@Override
public void onLoadNotificationConfig(UpgradeDownloadRequest upgradeDownloadRequest) {
}
@Override
public void onPrepare(UpgradeDownloadRequest upgradeDownloadRequest) {
// Buat notifikasi unduhan kustom.
}
@Override
public void onProgress(UpgradeDownloadRequest upgradeDownloadRequest, int i) {
// Perbarui kemajuan grafik bilah kemajuan notifikasi.
}
@Override
public void onCancel(UpgradeDownloadRequest upgradeDownloadRequest) {
}
@Override
public void onFinish(UpgradeDownloadRequest upgradeDownloadRequest, String s) {
}
@Override
public void onFailed(UpgradeDownloadRequest upgradeDownloadRequest, int i, String s) {
}
});
Penanganan kegagalan parsing paket setelah peningkatan paksa
Pada beberapa ROM, kegagalan parsing paket dapat terjadi setelah peningkatan paksa. Hal ini terjadi karena beberapa ROM mengakses proses aplikasi selama instalasi paket. Peningkatan paksa menghentikan tugas proses ini, sehingga menyebabkan kegagalan parsing. Perilaku ROM kustom ini tidak sesuai dengan standar Android. Untuk mengatasi masalah ini, Anda dapat menetapkan UpgradeForceExitCallback dan membuat needForceExit mengembalikan nilai false.
Implementasikan callback.
public class UpgradeForceExitCallbackImpl implements UpgradeForceExitCallback { @Override public boolean needForceExit(boolean forceExitApp, MicroApplicationContext context) { // Jika Anda mengembalikan false, proses tidak akan dipaksa dihentikan, sehingga mencegah kegagalan parsing paket. Jika Anda mengembalikan true, Anda harus menangani penghentian proses, dan metode doForceExit di bawah ini akan dipanggil. return false; } @Override public void doForceExit(boolean forceExitApp, MicroApplicationContext context) { // Untuk menghentikan proses, needForceExit harus mengembalikan true. Kemudian, hentikan proses dalam metode ini. } }Tetapkan callback.
MPUpgrade mpUpgrade = new MPUpgrade(); mpUpgrade.setForceExitCallback(new UpgradeForceExitCallbackImpl());PentingAnda harus menggunakan instans
MPUpgradeyang sama untuk menetapkan callback dan meminta peningkatan.Menetapkan callback mencegah kegagalan parsing paket, tetapi komponen peningkatan tidak lagi secara otomatis menghentikan tugas proses. Oleh karena itu, jika pengguna kembali ke aplikasi alih-alih mengetuk Install, Anda harus menampilkan overlay pop-up yang tidak dapat dibatalkan untuk mencegah pengguna melewati peningkatan paksa.