statistic API
このプラグインのセットアップコマンドとインストールステップ、そしてフルマークダウンガイドをコピーできます。
統計情報 API
「統計情報 API」というタイトルのセクションバージョン 1.3.0 から、更新システムは統計を送信できるようになりました。
デフォルトでは、すべての統計は私たちのサーバーに送信され、使用状況を理解し、研究するために使用されます。
統計を送信するデータをあなたのサーバーに送信したい場合は、以下の設定を変更してください。
// capacitor.config.json{ "appId": "**.***.**", "appName": "Name", "plugins": { "CapacitorUpdater": { "statsUrl": "YOUR_URL" } }}データ構造
データ構造あなたのサーバーに送信されるのは以下のようになります。
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,}送信を完全に無効にすることもできます。空の文字列を指定してください。統計はプライベートに扱われ、問題を解決し、プラグインを改善するために、ユーザーがプラグインをどのように使用しているかを理解するために使用されます。
予期される「アップデートなし」の動作
セクション「予期される「アップデートなし」の動作」アップデートエンドポイントが 新しいバージョンがない場合, エラーのペイロードのようなものを返すようにしてください
{ "error": "no_new_version_available", "message": "No new version available" }The error code は正確に no_new_version_available。 The message は任意の文字列になります (ログ/デバッグ用にしか使用されないため)。 これは予期される動作であり、HTTP 200ステータスとともに返されます。 アップデートエンドポイントが 200 レスポンスを返すのではなく、 url、プラグインはこれをダウンロード失敗とみなします。 download_fail stat。
実装例
セクション「実装例」ここでは、JavaScriptでプラグインの統計を保存するcodeの例を示します。
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' }}このエンドポイントは、JSON形式で次のデータを返す必要があります。
{ "status": "ok" }アクション
セクション「アクション」すべてのアクションコードとその意味の詳細な説明については、デバッグドキュメントを参照してください。
- デバイスから送信されたアクション: デバッグドキュメントを参照してください - デバイスから送信された セクション
- バックエンドから送信されたアクション: デバッグドキュメントを参照してください - バックエンドから送信された セクション
Statistics API を使用している場合
タイトル "Statistics API" のセクションStatistics __CAPGO_KEEP_0__ を使用している場合 Statistics API ダッシュボードとAPIの作業を計画し、APIに接続する Using @capgo/capacitor-updater Using @capgo/capacitor-updater APIの概要 for the implementation detail in API Overview 概要 for the implementation detail in Introduction APIのキー for the implementation detail in API Keys, and デバイス for the implementation detail in Devices.