Statistiken API
Eine Einrichtungsvorlage mit den Installationsanweisungen 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 erhalten wird ist:
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_available. Die message kann jeder beliebige String sein, den Sie wollen (er wird nur zum Logging/Debugging verwendet). Dies ist die erwartete Verhaltensweise und wird trotzdem mit HTTP 200. Wenn Ihr Update-Endpunkt stattdessen eine 200 Antwort ohne eine url zurückgibt, behandelt der Plugin als einen Download-Fehler und sendet eine download_fail Implementierung Beispiel
Abschnitt mit dem Titel “Implementierung Beispiel”
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: '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' | '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' | 'disablePlatformElectron' | 'disableProdBuild' | 'disableDevice' | 'customIdBlocked' | 'cannotGetBundle' | 'checksum_fail' | 'checksum_required' | 'NoChannelOrOverride' | 'setChannel' | 'getChannel' | 'rateLimited' | 'disableAutoUpdate' | 'keyMismatch' | 'ping' | 'InvalidIp' | 'blocked_by_server_url' | 'download_manifest_start' | 'download_manifest_complete' | 'download_zip_start' | 'download_zip_complete' | 'download_manifest_file_fail' | 'download_manifest_checksum_fail' | 'download_manifest_brotli_fail' | 'backend_refusal' | 'app_crash' | 'app_crash_native' | 'app_anr' | 'app_killed_low_memory' | 'app_killed_excessive_resource_usage' | 'app_initialization_failure' | 'app_memory_warning' | 'webview_javascript_error' | 'webview_unhandled_rejection' | 'webview_resource_error' | 'webview_security_policy_violation' | 'webview_unclean_restart' | 'webview_render_process_gone' | 'webview_content_process_terminated' | 'os_version_changed' | 'native_app_version_changed' | 'download_0' 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' }}In die Zwischenablage kopieren
{ "status": "ok" }Aktionen
Abschnitt: AktionenFür detaillierte Beschreibungen aller Aktionencode und deren Bedeutung, zögern Sie bitte die Debug-Dokumentation:
- Aktionen, die vom Gerät gesendet werden: Siehe die Dokumentation zum Debuggen - Gesendet von der Geräte Sektion
- Aktionen, die vom Backend gesendet werden: Siehe die Dokumentation zum Debuggen - Gesendet von dem Backend Sektion
Weitermachen von Statistiken API
Abschnitt mit dem Titel “Weitermachen von Statistiken API”Wenn Sie "__CAPGO_KEEP_0__" verwenden Statistiken API um einen Dashboard und API-Betrieb zu planen, 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üsseln und Geräte für die Implementierungsdetails in Geräten.