

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

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon Mobile Analytics를 통한 앱 사용 데이터 추적
<a name="getting-started-analytics"></a>

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

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

## 프로젝트 설정
<a name="project-setup"></a>

### 사전 조건
<a name="prerequisites"></a>

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

### Mobile Analytics 콘솔에서 앱 생성
<a name="create-an-app-in-the-mobile-analytics-console"></a>

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

콘솔 사용에 대한 자세한 내용은 [Amazon Mobile Analytics 사용 설명서](https://docs.aws.amazon.com/mobileanalytics/latest/ug/)를 참조하세요.

### Mobile Analytics에 대한 권한 설정
<a name="set-permissions-for-mobile-analytics"></a>

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

### 프로젝트에 Mobile Analytics용 NuGet 패키지 추가
<a name="add-nuget-package-for-mobile-analytics-to-your-project"></a>

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

### Mobile Analytics 설정 구성
<a name="configure-mobile-analytics-settings"></a>

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 초기화
<a name="initialize-mobileanalyticsmanager"></a>

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

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

## 세션 이벤트 추적
<a name="track-session-events"></a>

### Xamarin Android
<a name="xamarin-android"></a>

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

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

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

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

### Xamarin iOS
<a name="xamarin-ios"></a>

AppDelegate.cs에서

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

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

Mobile Analytics에 대한 자세한 내용은 [Amazon Mobile Analytics](analytics.md)를 참조하세요.