Statistiken API
Ein Setup-Prompt mit den Installations-Schritten und der vollständigen Markdown-Guideline für diesen Plugin kopieren.
Statistiken API
Abschnitt mit dem Titel “Statistiken API”Ab Version 1.3.0 kann das Update-System Statistiken senden!
Standardmäßig werden alle Statistiken an unseren Server gesendet, um die Nutzung zu verstehen und zu forschen.
Wenn Sie diese Daten an Ihren Server senden möchten, ändern Sie die Konfiguration unten:
// capacitor.config.json{ "appId": "**.***.**", "appName": "Name", "plugins": { "CapacitorUpdater": { "statsUrl": "YOUR_URL" } }}Datenstruktur
Abschnitt mit dem Titel “Datenstruktur”Was Ihr Server empfängt wird:
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,}Sie können es auch vollständig deaktivieren, indem Sie eine leere Zeichenkette verwenden. Beachten Sie, dass Statistiken anonymisiert werden und mir helfen, zu verstehen, wie Menschen das Plugin verwenden, um Probleme zu lösen und es zu verbessern.
Erwartetes 'kein Update'-Verhalten
Abschnitt mit dem Titel 'Erwartetes 'kein Update'-Verhalten'Wenn Ihr Update-Endpunkt hat keine neue Versiones sollte mit einem Fehler-Payload wie folgt antworten:
{ "error": "no_new_version_available", "message": "No new version available" }Der error code muss genau no_new_version_availablesein. message kann jede beliebige Zeichenkette sein (es dient nur zur Protokollierung/Debugging). Dies ist die erwartete Verhaltensweise und wird trotzdem mit HTTP 200Wenn Ihr Update-Endpunkt stattdessen eine 200 Antwort ohne eine urlsendet, wird das Plugin dies als Downloadfehler behandeln und eine download_fail Statistik senden.
Implementierungsbeispiel
Hier ist ein Beispiel für __CAPGO_KEEP_0__ in JavaScript, um die Statistiken des Plugins zu speichern: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' }}Auf die Zwischenablage kopieren
{ "status": "ok" }Implementation Example
AktionenFür detaillierte Beschreibungen aller Aktionen und deren Bedeutung, zögern Sie bitte die Debug-Dokumentation auf:
- Aktionen, die vom Gerät gesendet werden: Siehe die Debug-Dokumentation - Gesendet von Gerät Sektion
- Aktionen, die vom Backend gesendet werden: Siehe die Debug-Dokumentation - Gesendet von Backend Sektion
Fortsetzen Sie von Statistiken API
Abschnitt mit dem Titel „Weiter von Statistiken API“Wenn Sie Statistiken API für die Planung Ihres Dashboards und API-Operationen verwenden, verbinden Sie es mit Mit @capgo/capacitor-Updater für die native Fähigkeit in Mit @capgo/capacitor-Updater, API-Übersicht für die Implementierungsdetails in API-Übersicht, Einführung für die Implementierungsdetails in Einführung, API-Schlüssel für die Implementierungsdetails in API-Schlüssel, und Geräte für die Implementierungsdetails in Geräte.