중요합니다
Visual Studio App Center는 2026년 6월 30일까지 계속 지원되는 분석 및 진단 기능을 제외하고 2025년 3월 31일에 사용 중지되었습니다. 자세히 알아보기.
App Center Analytics는 사용자 동작 및 고객 참여를 이해하여 앱을 개선하는 데 도움이 됩니다. SDK는 모델, OS 버전 등과 같은 세션 수 및 디바이스 속성을 자동으로 캡처합니다. 고유한 사용자 지정 이벤트를 정의하여 중요한 항목을 측정할 수 있습니다. 캡처된 모든 정보는 App Center 포털에서 데이터를 분석할 수 있습니다.
애플리케이션에서 SDK를 아직 설정하지 않은 경우 시작 섹션 을 따릅니다.
세션 및 디바이스 정보
앱에 App Center Analytics를 추가하고 SDK가 시작되면 OS 버전, 모델 등과 같은 세션 및 디바이스 속성을 자동으로 추적합니다.
사용자 지정 이벤트
최대 20개의 속성을 사용하여 사용자 고유의 사용자 지정 이벤트를 추적하여 사용자와 앱 간의 상호 작용을 이해합니다.
SDK를 시작한 후 trackEvent
메서드를 사용하여 속성과 함께 이벤트를 추적합니다.
최대 200개의 고유한 이벤트 이름을 보낼 수 있습니다. 또한 이벤트 이름당 최대 256자, 이벤트 속성 이름 및 이벤트 속성 값당 125자로 제한됩니다.
// import App Center Analytics at the top of the file.
import Analytics from 'appcenter-analytics';
Analytics.trackEvent('Video clicked', { Category: 'Music', FileName: 'favorite.avi' });
이 함수는 프라미스를 반환하고 성공 사례는 빈 문자열을 반환하고 오류 사례는 오류를 반환합니다.
이벤트에 대한 속성은 선택 사항입니다. 이벤트를 추적하려면 다음을 대신 사용합니다.
Analytics.trackEvent('Video clicked');
런타임에 App Center Analytics 사용 또는 사용 안 함
런타임에 App Center Analytics를 사용하거나 사용하지 않도록 설정할 수 있습니다. 사용하지 않도록 설정하면 SDK는 앱에 대한 분석 정보를 더 이상 수집하지 않습니다.
await Analytics.setEnabled(false);
이 함수는 void로 확인되는 프라미스를 반환합니다.
App Center Analytics를 다시 사용하도록 설정하려면 동일한 API를 사용하지만 매개 변수로 전달 true
합니다.
await Analytics.setEnabled(true);
상태는 애플리케이션 시작 시 디바이스의 스토리지에 유지됩니다.
App Center Analytics가 사용하도록 설정되어 있는지 확인
App Center Analytics가 사용하도록 설정되어 있는지 여부를 확인할 수도 있습니다.
const enabled = await Analytics.isEnabled();
이 함수는 boolean
으로 해결되는 프라미스를 반환합니다.
JS가 App Center Analytics를 사용하도록 설정되기를 기다립니다.
앱 사용자에 대한 분석 정보를 수집하지만 먼저 사용자 권한을 얻으려면 시작 시 분석을 사용하도록 설정하지 않고 적절한 시간까지 기다렸다가 JavaScript에서 사용하도록 설정하는 옵션이 있습니다.
- 프로젝트의
ios/YourAppName/AppDelegate.m
파일을 열고[AppCenterReactNativeAnalytics registerWithInitiallyEnabled:true];
를[AppCenterReactNativeAnalytics registerWithInitiallyEnabled:false];
로 교체하십시오. - 프로젝트의
android/app/src/main/res/values/strings.xml
파일을 열고<string name="appCenterAnalytics_whenToEnableAnalytics" moduleConfig="true" translatable="false">ALWAYS_SEND</string>
를<string name="appCenterAnalytics_whenToEnableAnalytics" moduleConfig="true" translatable="false">ENABLE_IN_JS</string>
로 교체하십시오.
즉, 모든 정보를 App Center로 보내려면(기본 세션 정보도) 먼저 다음 코드 줄을 추가하여 App Center Analytics를 사용하도록 설정해야 합니다.
await Analytics.setEnabled(true);
시작 세션 관리
기본적으로 세션 ID는 애플리케이션의 수명 주기에 따라 달라집니다. 새 세션의 시작을 수동으로 제어하려면 다음 단계를 수행합니다.
비고
Analytics.StartSession() API의 각 호출은 새 세션을 생성합니다. 수동 세션 추적기 모드에서 이 API가 호출되지 않으면 모든 전송 로그에 null 세션 값이 있습니다.
비고
새 애플리케이션이 시작되면 세션 ID가 다시 생성됩니다.
세션을 수동으로 추적하도록 SDK를 구성하려면 네이티브 분석 enableManualSessionTracker
API를 사용해야 합니다.
iOS에서 앱의
[MSACAnalytics enableManualSessionTracker];
대리자 메서드에서[AppCenterReactNative register];
전에didFinishLaunchingWithOptions
을 호출합니다AppDelegate.m
. 해당 파일에 누락된 경우@import AppCenterAnalytics
를 추가하십시오.Android에서는
Analytics.enableManualSessionTracker();
의SoLoader.init
메서드에서onCreate
이전에MainApplication.java
을(를) 호출하세요. 해당 파일에 누락된 경우 가져오기com.microsoft.appcenter.analytics.Analytics
를 추가합니다.
그런 후 React Native 프로젝트에서 startSession
API를 활용할 수 있습니다.
Analytics.startSession();
로컬 스토리지 크기
기본적으로 SDK는 스토리지에 최대 10MB의 로그를 저장합니다.
인터넷에 액세스할 수 없음
네트워크 연결이 없으면 SDK는 로컬 스토리지에 최대 10MB의 로그를 저장합니다. 스토리지가 가득 차면 SDK는 새 로그를 위한 공간을 확보하기 위해 이전 로그를 삭제하기 시작합니다. 디바이스가 인터넷에 다시 액세스하면 SDK는 50개 또는 6초마다 일괄 처리로 로그를 보냅니다.
이벤트 로그 일괄 처리
App Center SDK는 50개의 일괄 처리로 로그를 업로드하고 SDK에 보낼 로그가 50개 없는 경우 6초 후에도 로그를 보냅니다. 최대 3개의 일괄 처리가 병렬로 전송될 수 있습니다.
다시 시도 및 백오프 논리
App Center SDK는 복구 가능한 네트워크 오류에 대한 백오프 재시도를 지원합니다. 다음은 재시도 논리입니다.
- 요청당 최대 3회 시도합니다.
- 각 요청에는 자체 재시도 상태 컴퓨터가 있습니다.
- 모든 전송 채널은 한 요청이 모든 재시도를 소진한 후(다음 앱 프로세스까지) 비활성화됩니다.
후퇴 논리
- 50% 임의화, 첫 번째 재시도는 5초에서 10초 사이, 두 번째 재시도는 2분 30초에서 5분 사이, 마지막 시도는 10분에서 20분 사이.
- 네트워크가 꺼짐에서 켜짐으로 또는 wi-fi에서 모바일로 전환되면, 다시 시도 상태가 초기화되고 요청이 즉시 다시 시도됩니다.