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 은 업데이트를 위해 사용할 수 있는 임의의 문자열입니다 (이것은 로깅/디버깅 용도로만 사용됩니다). 200이것은 기대되는 동작이며 여전히 HTTP 200 에 반환됩니다. 만약 업데이트 엔드포인트가 대신 url, 플러그인은 다운로드 실패로 간주하고 통계를 전송합니다. download_fail stat.
Implementation Example
Implementation Example자바스크립트에서 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" }디바이스에서 전송된 액션
- Actions sent from the device: See the 장치에서 보낸 디버깅 문서를 참조하십시오 - 부분
- 백엔드에서 보낸 액션: See the 장치에서 보낸 디버깅 문서를 참조하십시오 - 부분
Statistics API에서 계속 진행하십시오
제목이 "Statistics API에서 계속 진행하십시오"인 섹션Capgo __CAPGO_KEEP_0__를 사용 중이라면 Statistics API 계획 대시보드와 API 작업을 계획하고 연결하세요. Using @capgo/capacitor-업데이터 Using @capgo/capacitor-업데이터의 원시 기능 API 개요 API 개요의 구현 세부 사항 소개 소개의 구현 세부 사항 API 키 API 키의 구현 세부 사항, 장치 장치의 구현 세부 사항.