Statistik API
Copas prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Bagian berjudul “Statistik API”
Section titled “Statistics 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 sendiri, ubah konfigurasi di bawah ini:
// capacitor.config.json{ "appId": "**.***.**", "appName": "Name", "plugins": { "CapacitorUpdater": { "statsUrl": "YOUR_URL" } }}Struktur Data
Judul bagian “Struktur Data”Apa yang akan menerima 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 mengaktifkannya secara total, dengan string kosong. Perlu diingat, statistik dibuat ramah privasi dan membantu saya memahami bagaimana orang menggunakan plugin, untuk menyelesaikan masalah dan memperbaikinya.
Diharapkan perilaku “tidak ada pembaruan”
Judul bagian “Diharapkan perilaku “tidak ada pembaruan””Ketika endpoint pembaruan Anda memiliki tidak ada versi baru, maka harus merespons dengan payload kesalahan seperti:
{ "error": "no_new_version_available", "message": "No new version available" }Bagian error code harus tepat no_new_version_available. Bagian message dapat berupa string apa saja yang Anda inginkan (hanya untuk logging/debugging). Ini adalah perilaku yang diharapkan dan masih dikembalikan dengan HTTP 200. Jika endpoint pembaruan Anda mengembalikan 200 respons tanpa kode respons urlPenyebab gagal download akan dianggap sebagai gagal download dan dikirimkan oleh plugin. download_fail stat.
Contoh Implementasi
Bab berjudul “Contoh Implementasi”Contoh berikut menunjukkan code dalam JavaScript untuk menyimpan statistik 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' }}Endpoint ini harus mengembalikan JSON:
{ "status": "ok" }Untuk deskripsi rinci tentang semua kode aksi dan maknanya, silakan lihat dokumentasi debugging:
- Aksi yang dikirimkan dari perangkatLihat Dokumentasi Debugging - Dikirim dari perangkat Aksi yang dikirim dari server Lihat Dokumentasi Debugging - Dikirim dari server
- Menangani PerbaruanTeruskan dari Statistik __CAPGO_KEEP_0__ Judul Bagian 'Teruskan dari Statistik __CAPGO_KEEP_0__' Jika Anda menggunakan
Statistik API
Teruskan dari Statistik APIStatistik __CAPGO_KEEP_0__ Statistik API untuk merencanakan dashboard dan API operasi, hubungkannya dengan Menggunakan @capgo/capacitor-updater untuk kemampuan asli dalam Menggunakan @capgo/capacitor-updater, API Ringkasan untuk detail implementasi dalam API Ringkasan, Pendahuluan untuk detail implementasi dalam Pendahuluan, API Kunci untuk detail implementasi dalam API Kunci, dan Perangkat untuk detail implementasi dalam Perangkat.