statistic API
설치 단계와 이 플러그인의 전체 마크다운 가이드를 포함한 설정 명령어를 복사하세요.
statistic API
“statistic 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다운로드 실패로 간주하고 stat을 전송합니다. download_fail stat.
Implementation Example
Implementation Example 섹션이 예제는 code을 JavaScript에서 사용하여 플러그인 stat을 저장하는 방법을 보여줍니다.
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' }}This endpoint는 JSON 형식으로 반환되어야 합니다.
{ "status": "ok" }Actions
Actions 섹션모든 액션 코드와 그 의미에 대한 자세한 설명은 디버깅 문서를 참조하십시오.
- 디바이스에서 전송된 Actions: debugging 문서 - section
- 백엔드에서 보내진 : debugging 문서 - section
Statistics API
Statistics APIStatistics __CAPGO_KEEP_0__ Statistics API 계획 대시보드 및 API 작업을 계획하고 연결하세요. Using @capgo/capacitor-업데이터 자연스러운 네이티브 기능을 위해 Using @capgo/capacitor-업데이터 API 개요 자연스러운 네이티브 기능을 위해 API 개요 소개 자연스러운 네이티브 기능을 위해 소개 API 키 자연스러운 네이티브 기능을 위해 API 키, 장치 자연스러운 네이티브 기능을 위해 장치.