Saltare al contenuto

Problemi noti

GitHub
  • Quando sviluppi, se utilizzi la funzione di ricarica live di Ionic dal CLI, sovrascriverà il plugin, quindi non vedrai mai le tue aggiornamenti.
  • Utilizza lo stesso sistema di Ionic sotto la pelle, quindi non vedrai le tue aggiornamenti.
  • Di solito accade quando vengono inviate aggiornamenti di grandi dimensioni (> 20mb), una grande percentuale di utenti non riceverà la versione più recente.
    In passato, gli utenti dovevano tenere l'app aperta fino a quando il download non era completo, ora utilizziamo il download in background, ma è ancora limitato a pochi secondi.

Abbiamo riscontrato alcuni problemi con i dispositivi in India, e abbiamo fatto chiamare gli utenti, li abbiamo fatti provare con diversi server DNS, e ha funzionato.

So se hai l'issue, prova a utilizzare un server DNS diverso come Cloudflare o DNS di Google.

Cloudflare: 1.1.1.1 e 1.0.0.1

DNS di Google: 8.8.8.8 e 8.8.4.4 o dns.google

Quando stai spingendo un aggiornamento auto-hosted, assicurati di non utilizzare l'endpoint “HTTP” poiché è contro le politiche di sicurezza degli app Android, se ancora vuoi farlo, segui questa guida:

Issue di scompattazione: gli elementi DEFLATED possono avere un descriptor EXT

Se hai scompresso il tuo bundle con qualcosa diverso dal CLI, il formato o il tuo zip potrebbe essere errato, per favore utilizza il comando CLI npx @capgo/cli zip BUNDLE_FOLDER.

This is a known issue of Java:

  • Se hai problemi con usesCleartextTraffic, è perché il plugin segue la buona pratica raccomandata da sonar cloud, in il 90% dei casi funziona solo bene, ma con alcuni plugin che causa problemi.

Per risolverlo, aggiungi in android/app/src/main/AndroidManifest.xml nel <application> chiave :

tools:replace="android:usesCleartextTraffic"
xmlns:tools="http://schemas.android.com/tools"

Aggiungi il NSPrivacyAccessedAPICategoryUserDefaults chiave del dizionario al tuo Manifesto sulla privacy (di solito ios/App/PrivacyInfo.xcprivacy):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<!-- Add this dict entry to the array if the file already exists. -->
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
</array>
</dict>
</array>
</dict>
</plist>

Consigliamo di dichiarare CA92.1 come motivo per l'accesso al UserDefaults API.

Quando si utilizza un server locale per le prove di testing, l'app chiederà l'autorizzazione di rete, è un comportamento normale, non è il caso quando si utilizza un server remoto.

Quando si eseguono aggiornamenti manuali, alcuni eventi non sono facili da catturare, ad esempio il fallimento dell'aggiornamento attiva proprio prima che il tuo JS code si ricarichi, quindi non riuscirai a catturarlo.

Un'alternativa è elencare i pacchetti e verificare gli stati di errore per sapere se l'aggiornamento fallisce.

Dobbiamo trovare un modo migliore per gestire questo in futuro, ma non è una priorità, poiché il modo automatico è il modo consigliato per eseguire gli aggiornamenti.

I PR sono i benvenuti per aiutarci a migliorare questo.

se il tuo CLI ha problemi a fare qualsiasi cosa,

Controlla se appId e appName sono presenti nel tuo capacitor.config.ts

Segui la guida del documento ufficiale:

Se stai utilizzando Problemi noti per pianificare il lavoro dei plugin nativi, connettilo con Utilizza @capgo/capacitor-aggiornatore per la capacità nativa in Utilizza @capgo/capacitor-aggiornatore Capgo Plugin Directory for the product workflow in Capgo Plugin Directory, Plugin di Capgo in Capacitor per il dettaglio di implementazione in Plugin di Capgo in Capacitor, Aggiunta o Aggiornamento dei Plugin per il dettaglio di implementazione in Aggiunta o Aggiornamento dei Plugin, e Alternative Plugin di Enterprise Ionic per il workflow del prodotto in Alternative Plugin di Enterprise Ionic.