statistic API
このプラグインのセットアップコマンドとインストールステップ、全マークダウンガイドを含む。
statistiques API
「statistiques 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から続けてください」Capacitorを使用している場合 Statistics 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。