메뉴로 건너뛰기

API에서 Statistics

GitHub

statistic API

statistic API

버전 1.3.0부터 업데이트 시스템은 stat을 보낼 수 있습니다.

기본적으로 모든 stat은 우리 서버로 보내져 사용량을 이해하고 연구하기 위해 사용됩니다.

이 데이터를 당신의 서버로 보내고 싶다면, 아래의 설정을 변경하세요.

// 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" }

__CAPGO_KEEP_0__은 정확히 error code must be exactly no_new_version_available. The message 어떤 문자열이든 원하는 대로 입력할 수 있습니다 (로그/디버깅 용입니다). 이 예상 동작은 여전히 HTTP 200업데이트 엔드포인트가 대신 반환하는 200 응답이 없을 경우 url, download_fail 다운로드 실패로 간주하고

Here is an example of code in JavaScript to save the stats of the plugin:

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' }
}

Copy to clipboard

{ "status": "ok" }

모든 행동 코드와 그 의미에 대한 자세한 설명은 디버깅 문서를 참조하십시오.

  • 장치에서 전송된 행동: 장치에서 전송된 행동에 대한 디버깅 문서를 참조하십시오. 장치에서 전송된 행동 : 장치에서 전송된 행동에 대한 디버깅 문서를 참조하십시오.
  • 백엔드에서 전송된 행동: 백엔드에서 전송된 행동에 대한 디버깅 문서를 참조하십시오. 백엔드에서 전송된 행동 : 백엔드에서 전송된 행동에 대한 디버깅 문서를 참조하십시오.

Statistics에서 계속 진행하세요 API

Statistics에서 계속 진행하세요 API

Statistics __CAPGO_KEEP_0__를 사용 중이라면 Statistics API 대시보드와 API 운영을 계획하고 싶다면, 그것을 native capability을 위한 @capgo/capacitor-updater native capability을 위한 @capgo/capacitor-updater API Overview API Overview Implementation Detail Implementation Detail API Keys API 키의 구현 세부 정보에 대해 기기 편집 페이지