Lompat ke konten

Menguji Bangun Nativ Tanpa Update Langsung

Ketika menguji aplikasi biner asli baru, pastikan aplikasi tersebut dimulai dari aset web yang dibundel dalam aplikasi tersebut—bukan dari pembaruan hidup yang telah diunduh sebelumnya. Gunakan salah satu atau kombinasi dari pengamanan di bawah ini.

Set CapacitorUpdater.version berasal dari versi yang digunakan untuk rilis biner asli Anda, dan tingkatkan untuk setiap rilis biner asli. Versi dasar biner asli yang lebih baru membuat aplikasi biner yang diinstal unik dari bundle yang lebih tua dan, dengan pengaturan default resetWhenUpdate: true, menghapus bundle yang diunduh ketika aplikasi biner asli yang lebih baru diinstal.

import type { CapacitorConfig } from '@capacitor/cli';
import pkg from './package.json';
const config: CapacitorConfig = {
plugins: {
CapacitorUpdater: {
// Keep this aligned with, and increase it for, every native build.
version: pkg.version,
autoUpdate: 'atBackground',
},
},
};
export default config;

Contoh: aplikasi biner yang dibangun dengan version: '1.4.1' memiliki versi dasar biner asli yang lebih tinggi daripada bundle 1.4.0 yang ada. Jangan menggunakan versi biner asli yang sama ketika Anda perlu memverifikasi aset yang dibundel.

2. Blokir Emulator dan Pembangunan-Build Pembaruan di Konsol

Judul bagian “2. Blokir Emulator dan Pembangunan-Build Pembaruan di Konsol”

Buka aplikasi Anda di konsol Capgo, pergi ke Saluran, pilih saluran yang digunakan oleh build, dan buka Informasi tab. Matikan keduanya Biarkan pembangunan build dan Biar Emulator Allow development build.

Capgo Informasi Saluran tab menampilkan pengaturan Izinkan pembangunan build dan Izinkan Emulator
Pengaturan ini berada di tab Informasi Saluran. Matikan kedua pengaturan yang dihias untuk menjaga build pengembangan dan emulator pada aset web yang dibundel.

Pengaturan saluran ini hanya menghalangi pengiriman pembaruan untuk jenis build yang dipilih. Perangkat fisik yang telah ditandatangani produksi masih dapat menerima pembaruan sesuai dengan pengaturan saluran lainnya.

3. Aktifkan Pembaruan Hidup Hanya di Build CI Asli

Judul bagian “3. Aktifkan Pembaruan Hidup Hanya di Build CI Asli”

Untuk tim yang ingin menjadikan build lokal, emulator, dan pengembangan aman secara default, aktifkan pembaruan hidup melalui variabel lingkungan. Konfigurasi di bawah ini menghapuskan pengujian pembaruan kecuali CAPGO_LIVE_UPDATES benar true:

import type { CapacitorConfig } from '@capacitor/cli';
import pkg from './package.json';
const liveUpdatesEnabled = process.env.CAPGO_LIVE_UPDATES === 'true';
const config: CapacitorConfig = {
appId: 'com.example.app',
appName: 'Example App',
plugins: {
CapacitorUpdater: {
// Bump package.json for every native build.
version: pkg.version,
// Local builds are off; native CI explicitly enables live updates.
autoUpdate: liveUpdatesEnabled ? 'atBackground' : false,
},
},
};
export default config;

Atur variabel hanya di langkah CI yang sinkronisasi dan membangun aplikasi asli:

- run: CAPGO_LIVE_UPDATES=true npx cap sync
- run: ./build-native-app.sh

Jalankan npx cap sync setelah menetapkan variabel karena Capacitor mengcopy konfigurasi ini ke proyek native selama sinkronisasi. Tanpa variabel, build lokal dan emulator tetap autoUpdate: false dan tidak memeriksa update live.

  1. Naikkan versi yang digunakan oleh CapacitorUpdater.version untuk biner native.
  2. Nonaktifkan Izinkan build pengembangan dan Izinkan Emulator saat di saluran ketika melakukan pengujian jenis build tersebut.
  3. Tinggal di lokal tanpa CAPGO_LIVE_UPDATES.
  4. Atur CAPGO_LIVE_UPDATES=true hanya sebelum npx cap sync di pekerjaan CI asli yang seharusnya menerima pembaruan langsung.