Statistik API
Salin prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Statistik API
Judul bagian “Statistik API”Mulai dari versi 1.3.0 sistem update dapat mengirimkan statistik!
Dengan default, semua statistik dikirimkan ke server kami, untuk memahami penggunaan dan penelitian.
Jika Anda ingin mengirimkan data ini ke server Anda, ubah konfigurasi di bawah:
// capacitor.config.json{ "appId": "**.***.**", "appName": "Name", "plugins": { "CapacitorUpdater": { "statsUrl": "YOUR_URL" } }}Struktur Data
Bab berjudul “Struktur Data”Apa yang akan diterima server Anda adalah:
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,}Anda juga dapat menonaktifkannya secara total, dengan string kosong. Perlu diingat, statistik dibuat ramah privasi dan membantu saya memahami bagaimana orang menggunakan plugin, untuk menyelesaikan masalah dan memperbaikinya.
Perilaku yang diharapkan “tidak ada pembaruan”
Bab berjudul “Perilaku yang diharapkan “tidak ada pembaruan””When endpoint pembaruan Anda tidak memiliki versi baru, maka harus merespons dengan payload kesalahan seperti: Salin ke clipboardJika
{ "error": "no_new_version_available", "message": "No new version available" }. Ini dapat berupa string apa saja (hanya untuk logging/debugging). Ini adalah perilaku yang diharapkan dan masih dikembalikan dengan HTTP error code must be exactly no_new_version_availablerespon tanpa message , plugin akan menganggapnya sebagai gagal download dan mengirimkan 200stat. 200 Jika endpoint pembaruan Anda mengembalikan respon tanpa __CAPGO_KEEP_0__ plugin akan menganggapnya sebagai gagal download dan mengirimkan stat. urlJika endpoint pembaruan Anda mengembalikan respon tanpa __CAPGO_KEEP_0__ plugin akan menganggapnya sebagai gagal download dan mengirimkan stat. download_fail Jika endpoint pembaruan Anda mengembalikan respon tanpa __CAPGO_KEEP_0__ plugin akan menganggapnya sebagai gagal download dan mengirimkan stat.
Contoh Implementasi
Judul Bagian “Contoh Implementasi”Berikut adalah contoh code dalam JavaScript untuk menyimpan statistik 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' }}Endpoint ini harus mengembalikan JSON:
{ "status": "ok" }Untuk deskripsi rinci tentang semua kode aksi dan maknanya, silakan lihat dokumentasi debugging:
- Aksi yang dikirim dari perangkat: Lihat dokumentasi debugging - Dikirim dari perangkat Dokumentasi debugging - Dikirim dari perangkat section
- Aksi yang dikirim dari backend : Lihat dokumentasi debugging - Dikirim dari backend section Mengatasi Perubahan
Judul Bagian “Lanjutkan dari Statistik API”
Section titled “Keep going from Statistics API”Statistik __CAPGO_KEEP_0__ untuk merencanakan dashboard dan operasi API , hubungkannya dengan Menggunakan @API/__CAPGO_KEEP_1__-updater Using @capgo/capacitor-updater untuk kemampuan asli dengan menggunakan @capgo/capacitor-updater, Ringkasan API untuk detail implementasi dalam Ringkasan API, Pendahuluan untuk detail implementasi dalam Pendahuluan, Kunci API untuk detail implementasi dalam Kunci API, dan Perangkat untuk detail implementasi dalam Perangkat.