Ugrás a tartalomra
Rapcsány Krisztián Rapcsány Krisztián
← Összes cikk
2 perc olvasás

Mobilapp-frissítés áruházi várakozás nélkül

React Native Expo Mobil

A beléptető appomnál nem mindegy, mikor frissül. Ha egy rendezvény közepén újraindulna az alkalmazás, a sor megáll. Ugyanakkor a kisebb javításokért nem akarok minden alkalommal áruházi jóváhagyásra várni.

Frissítés a levegőben (OTA)

Az Expo frissítési szolgáltatásával a JavaScript-oldali változások az áruházi kiadás nélkül jutnak el a telefonokra. Az app csendben megnézi, van-e új verzió, letölti, és a következő hidegindításkor lép életbe. Futás közben nem töltök újra semmit.

updates.ts
export async function checkForUpdateSilently(): Promise<void> {
  // Release builds only: updates are disabled in dev clients and Expo Go.
  if (__DEV__ || !Updates.isEnabled) return;

  try {
    const res = await Updates.checkForUpdateAsync();
    if (res.isAvailable) {
      // Downloaded now, applied on the NEXT cold start,
      // so a running check-in is never interrupted by a reload.
      await Updates.fetchUpdateAsync();
    }
  } catch {
    // network error: not important, try again next time
  }
}

Kivonat valódi kódból, anonimizálva.

Mit nem tud

  • Natív változást nem szállít: új modul, engedély, ikon vagy a konfigurációs bővítmények módosítása új áruházi buildet igényel.
  • Fejlesztői módban és az Expo Go alkalmazásban ki van kapcsolva, csak kiadási buildben fut.
  • A hálózati hibát nem kezeli külön: ha nem sikerül, majd legközelebb próbálkozik.

A szabály

Ami csak logika vagy felület, az OTA-val megy. Ami a telefon képességeit érinti, az áruházi kiadással. Így a nagy kiadások ritkák, a javítások gyorsak, és beléptetés közben sosem frissül semmi.

Hasonló problémán dolgozol?

Ha elakadtál, vagy átnéztetnéd a megoldásodat, írj, szívesen megnézem.

Írok neked →
Ajánlatot kérek →