Amazon Mobile Analytics를 통한 앱 사용 데이터 추적 - AWS Mobile SDK

AWS Mobile SDK for Xamarin은 이제 AWS SDK for .NET에 포함됩니다. 이 안내서에서는 Xamarin용 모바일 SDK의 아카이브된 버전을 참조합니다.

Amazon Mobile Analytics를 통한 앱 사용 데이터 추적

Amazon Mobile Analytics를 통해 앱 사용량 및 앱 수익을 측정할 수 있습니다. 신규 사용자 대 기존 사용자, 앱 수익, 사용자 유지, 커스텀 인앱 동작 이벤트와 같은 핵심 트렌드를 추적하여 데이터에 기반한 결정을 내려 앱에 대한 사용자 참여와 수익 창출을 높입니다.

다음 자습에서는 앱에 Mobile Analytics를 통합하는 방법을 설명합니다.

프로젝트 설정

필수 조건

이 자습서를 시작하기 전에 .NET 및 Xamarin용 AWS Mobile SDK 설정의 지침을 모두 완료해야 합니다.

Mobile Analytics 콘솔에서 앱 생성

Amazon Mobile Analytics 콘솔로 이동하여 앱을 생성합니다. 나중에 필요하므로 appId 값을 기록합니다. Mobile Analytics 콘솔에서 앱을 생성할 때 자격 증명 풀 ID를 지정해야 합니다. 자격 증명 풀을 생성하기 위한 지침은 .NET 및 Xamarin용 AWS Mobile SDK 설정을 참조하세요.

콘솔 사용에 대한 자세한 내용은 Amazon Mobile Analytics 사용 설명서를 참조하세요.

Mobile Analytics에 대한 권한 설정

설정 시 생성한 역할에 연결된 기본 정책은 애플리케이션에 Mobile Analytics에 대한 액세스 권한을 부여합니다. 추가 구성이 필요하지 않습니다.

프로젝트에 Mobile Analytics용 NuGet 패키지 추가

.NET 및 Xamarin용 AWS Mobile SDK 설정 내 지침의 4단계를 따라 Mobile Analytics NuGet 패키지를 프로젝트에 추가합니다.

Mobile Analytics 설정 구성

Mobile Analytics는 몇 가지 설정을 정의하며, 각 설정은 awsconfig.xml 파일에서 구성할 수 있습니다.

var config = new MobileAnalyticsManagerConfig(); config.AllowUseDataNetwork = true; config.DBWarningThreshold = 0.9f; config.MaxDBSize = 5242880; config.MaxRequestSize = 102400; config.SessionTimeout = 5;
  • AllowUseDataNetwork - 세션 이벤트가 데이터 네트워크에서 전송되는지 여부를 지정하는 부울입니다.

  • DBWarningThreshold - 데이터베이스 크기 제한입니다. 이 제한에 도달할 경우 경고 로그가 생성됩니다.

  • MaxDBSize - SQLIte 데이터베이스의 크기입니다. 데이터베이스가 최대 크기에 도달하면 추가 이벤트가 삭제됩니다.

  • MaxRequestSize - HTTP 요청에서 Mobile Analytics 서비스로 전송되어야 할 요청의 최대 크기(바이트)입니다.

  • SessionTimeout - 애플리케이션이 백그라운드로 전환된 후 세션이 종료될 때까지의 시간 간격입니다.

위에 표시된 설정은 각 구성 항목의 기본값입니다.

MobileAnalyticsManager 초기화

MobileAnalyticsManager를 초기화하려면 MobileAnalyticsManager에서 GetOrCreateInstance를 호출하여 AWS 자격 증명, 리전, Mobile Analytics 애플리케이션 ID 및 config 객체(선택 사항)를 가져옵니다.

var manager = MobileAnalyticsManager.GetOrCreateInstance( "APP_ID", "Credentials", "RegionEndPoint", config );

세션 이벤트 추적

Xamarin Android

세션 이벤트를 기록하려면 작업의 OnPause()OnResume() 메서드를 재정의합니다.

protected override void OnResume() { manager.ResumeSession(); base.OnResume(); } protected override void OnPause() { manager.PauseSession(); base.OnPause(); }

이는 애플리케이션 내 각 작업에 대해 구현되어야 합니다.

Xamarin iOS

AppDelegate.cs에서

public override void DidEnterBackground(UIApplication application) { manager.PauseSession(); } public override void WillEnterForeground(UIApplication application) { manager.ResumeSession(); }

Mobile Analytics에 대한 자세한 내용은 Amazon Mobile Analytics를 참조하세요.