Menguji penginstalan modul secara lokal

Library Play Core memungkinkan Anda menguji kemampuan aplikasi untuk melakukan hal berikut secara lokal, tanpa terhubung ke Play Store:

Halaman ini menjelaskan cara men-deploy APK terpisah di aplikasi Anda ke perangkat pengujian agar Play Core secara otomatis menggunakan APK tersebut untuk membuat simulasi permintaan, download, dan penginstalan modul dari Play Store.

Meskipun tidak perlu melakukan perubahan pada logika aplikasi, Anda harus memenuhi persyaratan berikut:

Membuat kumpulan APK

Jika Anda belum melakukannya, buat APK terpisah di aplikasi Anda, seperti berikut:

  1. Buat app bundle untuk aplikasi Anda menggunakan salah satu metode berikut:
  2. Gunakan bundletool untuk membuat kumpulan APK untuk semua konfigurasi perangkat dengan perintah berikut:

    bundletool build-apks --local-testing
      --bundle my_app.aab
      --output my_app.apks
    

Tanda --local-testing menyertakan meta-data dalam manifes APK yang memungkinkan library Play Core mengetahui cara menggunakan APK terpisah lokal untuk menguji penginstalan modul fitur, tanpa terhubung ke Play Store.

Men-deploy aplikasi Anda ke perangkat

Setelah Anda membuat kumpulan APK menggunakan tanda --local-testing, gunakan bundletool untuk menginstal versi dasar aplikasi Anda dan mentransfer APK tambahan ke penyimpanan lokal perangkat Anda. Anda dapat melakukan kedua tindakan tersebut dengan perintah berikut:

bundletool install-apks --apks my_app.apks

Sekarang, saat Anda memulai aplikasi dan menyelesaikan alur penggunaan untuk mendownload dan menginstal modul fitur, Library Play Core menggunakan APK yang ditransfer bundletool ke penyimpanan lokal perangkat.

Membuat simulasi error jaringan

Untuk membuat simulasi penginstalan modul dari Play Store, Library Play Core menggunakan alternatif SplitInstallManager, yang disebut FakeSplitInstallManager, untuk meminta modul. Saat Anda menggunakan bundletool dengan tanda --local-testing untuk membuat kumpulan APK dan men-deploy-nya ke perangkat pengujian, tindakan itu menyertakan metadata yang menginstruksikan Library Play Core untuk secara otomatis mengganti panggilan API aplikasi Anda guna mengaktifkan FakeSplitInstallManager, bukan SplitInstallManager.

FakeSplitInstallManager menyertakan tanda boolean yang dapat Anda aktifkan untuk membuat simulasi error jaringan saat aplikasi Anda meminta untuk menginstal modul lagi. Untuk mengakses FakeSplitInstallManager dalam pengujian, Anda bisa mendapatkan instance menggunakan FakeSplitInstallManagerFactory, seperti yang ditunjukkan di bawah ini:

Kotlin

// Creates an instance of FakeSplitInstallManager with the app's context.
val fakeSplitInstallManager = FakeSplitInstallManagerFactory.create(context)
// Tells Play Core Library to force the next module request to
// result in a network error.
fakeSplitInstallManager.setShouldNetworkError(true)

Java

// Creates an instance of FakeSplitInstallManager with the app's context.
FakeSplitInstallManager fakeSplitInstallManager =
    FakeSplitInstallManagerFactory.create(context);
// Tells Play Core Library to force the next module request to
// result in a network error.
fakeSplitInstallManager.setShouldNetworkError(true);