Statistiche API
Copiare un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Statistiche API
Sezione intitolata “Statistiche API”Da versione 1.3.0 l'aggiornamento del sistema è in grado di inviare statistiche!
Di default, tutte le statistiche vengono inviate al nostro server, per comprendere l'utilizzo e la ricerca.
Se desiderate inviare questi dati al vostro server, modificate la configurazione di seguito:
// capacitor.config.json{ "appId": "**.***.**", "appName": "Name", "plugins": { "CapacitorUpdater": { "statsUrl": "YOUR_URL" } }}Struttura dei dati
Sottosezione intitolata “Struttura dei dati”Quello che il vostro server riceverà è:
interface AppInfosStats { "action": "set", // can be set, delete, set_fail, reset, revert // Then it's the same info as update "app_id": "**.***.**", // app identifier in the store "device_id": "*******", // unique id per app install "platform": "ios", // or android, or electron "custom_id": "user_1", // represent your user "version_name": "1.2.3", // version of the web build "version_build": "1.2.0", // version of the native build "version_code": "120", // build number of the native build "version_os": "16", // OS version of the device "plugin_version": "4.0.0"// to make your api behave differently with different plugins "is_emulator": false, "is_prod": false,}Potete anche disabilitarlo completamente, con una stringa vuota. Tenete presente che le statistiche sono trattate in modo riservato e mi aiutano a comprendere come le persone utilizzano il plugin, per risolvere problemi e migliorarlo.
Si aspetta il comportamento "nessun aggiornamento"
Sottosezione intitolata "Si aspetta il comportamento "nessun aggiornamento""Quando il tuo endpoint di aggiornamento ha nessuna nuova versione, dovrebbe rispondere con un payload di errore come:
{ "error": "no_new_version_available", "message": "No new version available" }La error code deve essere esattamente no_new_version_available. Il message può essere qualsiasi stringa che desideri (è solo per la registrazione/debbagli). Questo è il comportamento previsto e viene ancora restituito con HTTP 200. Se il tuo endpoint di aggiornamento restituisce invece una 200 risposta senza un urlEcco un esempio di __CAPGO_KEEP_0__ in JavaScript per salvare le statistiche del plugin: download_fail stat.
Esempio di Implementazione
Sottosezione intitolata “Esempio di Implementazione”Here is an example of code in JavaScript to save the stats of the plugin:
interface AppInfos { version_name: string action: 'ping' | 'delete' | 'reset' | 'set' | 'get' | 'set_fail' | 'update_fail' | 'download_fail' | 'windows_path_fail' | 'canonical_path_fail' | 'directory_path_fail' | 'unzip_fail' | 'low_mem_fail' | 'download_10' | 'download_20' | 'download_30' | 'download_40' | 'download_50' | 'download_60' | 'download_70' | 'download_80' | 'download_90' | 'download_complete' | 'download_manifest_start' | 'download_manifest_complete' | 'download_zip_start' | 'download_zip_complete' | 'download_manifest_file_fail' | 'download_manifest_checksum_fail' | 'download_manifest_brotli_fail' | 'decrypt_fail' | 'app_moved_to_foreground' | 'app_moved_to_background' | 'uninstall' | 'needPlanUpgrade' | 'missingBundle' | 'noNew' | 'disablePlatformIos' | 'disablePlatformAndroid' | 'disableAutoUpdateToMajor' | 'cannotUpdateViaPrivateChannel' | 'disableAutoUpdateToMinor' | 'disableAutoUpdateToPatch' | 'channelMisconfigured' | 'disableAutoUpdateMetadata' | 'disableAutoUpdateUnderNative' | 'disableDevBuild' | 'disableEmulator' | 'cannotGetBundle' | 'checksum_fail' | 'NoChannelOrOverride' | 'setChannel' | 'getChannel' | 'rateLimited' | 'disableAutoUpdate' | 'InvalidIp' | 'keyMismatch' | 'blocked_by_server_url' version_build: string version_code: string version_os: string plugin_version: string platform: string app_id: string device_id: string custom_id?: string is_prod?: boolean is_emulator?: boolean}
export const handler: Handler = async (event) => { const body = JSON.parse(event.body || '{}') as AppInfos const { platform, app_id, action, version_code, version_os, device_id, version_name, version_build, plugin_version, } = body console.log('update asked', platform, app_id, action, version_os, version_code, device_id, version_name, version_build, plugin_version) // Save it in your database return { status: 'ok' }}Copia nel portapenne
{ "status": "ok" }Sottosezione intitolata “Azioni”
Per descrizioni dettagliate di tutti i codici di azione e i loro significati, si prega di consultare la documentazione di debugging:Azioni inviate dal dispositivo
- Fallimento del download, il plugin lo tratterà come tale e invierà un: Vedi il la documentazione di debug - Invio dal dispositivo sezione
- Le azioni inviate dal backend: Vedi il la documentazione di debug - Invio dal backend sezione
Continua da Statistiche API
Sezione intitolata “Continua da Statistiche API”Se stai utilizzando Statistica API per pianificare il dashboard e le API operazioni, connettilo con Usando @capgo/capacitor-aggiornatore per la capacità nativa in Usando @capgo/capacitor-aggiornatore, Panoramica di API per i dettagli di implementazione in Panoramica di API, Introduzione per i dettagli di implementazione in Introduzione, Chiavi di API per i dettagli di implementazione in Chiavi di API, e Dispositivi per i dettagli di implementazione in Dispositivi.