

이제 AWS Mobile SDK for Unity가에 포함됩니다 AWS SDK for .NET. 이 가이드에서는 Mobile SDK for Unity의 아카이브 버전을 참조합니다. 자세한 내용은 [ AWS Mobile SDK for Unity란 무엇입니까?](what-is-unity-plugin.md) 섹션을 참조하세요.

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

# Amazon Mobile Analytics
<a name="analytics"></a>

Amazon Mobile Analytics를 사용하면 고객 행동을 추적하고, 지표를 집계하고, 데이터 시각화를 생성하고, 유의미한 패턴을 식별할 수 있습니다. Mobile Analytics에 대한 자세한 내용은 [AWS Mobile Analytics](https://aws.amazon.com/mobileanalytics/)를 참조하십시오.

## Amazon Mobile Analytics 통합
<a name="integrating-amazon-mobile-analytics"></a>

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

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

[Amazon Mobile Analytics 콘솔](https://docs.aws.amazon.com/mobileanalytics/latest/ug/migrate-console.html)로 이동하여 앱을 생성합니다. 나중에 필요하므로 `appId` 값을 기록합니다.

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

Mobile Analytics 콘솔에서 앱을 생성할 때 Cognito 자격 증명 풀 ID를 지정해야 합니다. 새 Cognito 자격 증명 풀을 만들고 ID를 생성하려면 [Cognito 자격 증명 개발자 안내서](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.html)를 참조하십시오.

### 앱에 Mobile Analytics 통합
<a name="integrate-mobile-analytics-into-your-app"></a>

Unity에서 Mobile Analytics에 액세스하려면 다음과 같은 using 문이 필요합니다.

```
using Amazon.MobileAnalytics.MobileAnalyticsManager;
using Amazon.CognitoIdentity;
```

Amazon Cognito를 사용하여 애플리케이션에 임시 AWS 보안 인증을 제공하는 것이 모범 사례입니다. 이러한 보안 인증을 사용해 앱이 AWS 리소스에 액세스할 수 있습니다. 보안 인증 공급자를 생성하려면 [Amazon Cognito 자격 증명](cognito-identity.md)의 지침을 따릅니다.

다음 정보를 사용하여 MobileAnalyticsManager 인스턴스를 생성합니다.
+ cognitoIdentityPoolId - 앱이 사용하는 Cognito 자격 증명 풀의 ID
+ cognitoRegion - Cognito 자격 증명 풀의 리전(예: "RegionEndpoint.USEast1")
+ region - Mobile Analytics 서비스의 리전(예: "RegionEndpoint.USEast1")
+ appId - 앱을 추가할 때 Mobile Analytics 콘솔이 생성한 값

다음 코드 조각과 같이 MobileAnalyticsClientContextConfig를 사용하여 ** `MobileAnalyticsManager` ** 인스턴스를 초기화합니다.

```
// Initialize the MobileAnalyticsManager
void Start()
{
    // ...
    analyticsManager = MobileAnalyticsManager.GetOrCreateInstance(
        new CognitoAWSCredentials(<cognitoIdentityPoolId>, <cognitoRegion>),
        <region>,
        <appId>);
    // ...
}
```

**참고**  
앱 ID는 앱 생성 마법사가 자동으로 생성합니다. 이들 두 값이 Mobile Analytics 콘솔 내 값과 일치해야 합니다.

`appId`는 Mobile Analytics 콘솔에서 데이터를 그룹화하는 데 사용됩니다. Mobile Analytics 콘솔에서 앱을 생성한 후 앱 ID를 찾으려면 Mobile Analytics 콘솔로 이동하여 화면의 오른쪽 위에 있는 기어 모양 아이콘을 클릭합니다. 그러면 [App Management] 페이지가 열려 모든 등록된 앱 및 해당 앱 ID가 나열됩니다.

### 수익화 이벤트 기록
<a name="record-monetization-events"></a>

Unity용 SDK는 `MonetizationEvent` 클래스를 제공합니다. 이 클래스를 사용하면 수익화 이벤트를 생성하여 모바일 애플리케이션 내에서 발생한 구매를 추적할 수 있습니다. 다음 코드 조각은 수익화 이벤트를 생성하는 방법을 보여줍니다.

```
// Create the monetization event object
MonetizationEvent monetizationEvent = new MonetizationEvent();

// Set the details of the monetization event
monetizationEvent.Quantity = 3.0;
monetizationEvent.ItemPrice = 1.99;
monetizationEvent.ProductId = "ProductId123";
monetizationEvent.ItemPriceFormatted = "$1.99";
monetizationEvent.Store = "Your-App-Store";
monetizationEvent.TransactionId = "TransactionId123";
monetizationEvent.Currency = "USD";

// Record the monetiziation event
analyticsManager.RecordEvent(monetizationEvent);
```

### 커스텀 이벤트 기록
<a name="record-custom-events"></a>

Mobile Analytics를 사용하면 커스텀 이벤트를 정의할 수 있습니다. 커스텀 이벤트는 전적으로 개발자가 정의합니다. 이러한 이벤트는 앱 또는 게임에 고유한 사용자 작업을 추적하는 데 도움이 됩니다. 커스텀 이벤트에 대한 자세한 내용은 [커스텀 이벤트](https://aws.amazon.com/mobileanalytics/faqs/#custom-event-details)를 참조하십시오. 이 예제에서는 앱이 게임이고 사용자가 레벨을 완료할 때마다 이벤트를 기록하는 것으로 가정합니다. 새 `AmazonMobileAnalyticsEvent` 인스턴스를 생성하여 "LevelComplete" 이벤트를 생성합니다.

```
CustomEvent customEvent = new CustomEvent("LevelComplete");

// Add attributes
customEvent.AddAttribute("LevelName","Level1");
customEvent.AddAttribute("CharacterClass","Warrior");
customEvent.AddAttribute("Successful","True");

// Add metrics
customEvent.AddMetric("Score",12345);
customEvent.AddMetric("TimeInLevel",64);

// Record the event
analyticsManager.RecordEvent(customEvent);
```

### 세션 기록
<a name="recording-sessions"></a>

애플리케이션이 포커스를 잃을 경우 세션을 일시 중지할 수 있습니다. `OnApplicationFocus`에서 앱이 일시 중지 중인지 여부를 확인합니다. 다음 코드 조각과 같이 일시 중지 중일 경우 `PauseSession`을 호출하고, 그렇지 않을 경우 `ResumeSession`을 호출합니다.

```
void OnApplicationFocus(bool focus)
{
    if(focus)
    {
        analyticsManager.ResumeSession();
    }
    else
    {
        analyticsManager.PauseSession();
    }
}
```

기본적으로 사용자가 5초 미만으로 앱에서 포커스를 돌렸다가 다시 앱에 포커스를 맞출 경우 세션이 재개됩니다. 사용자가 5초 이상 앱에서 포커스를 돌릴 경우 새로운 세션이 생성됩니다. 이 설정은 awsconfig.xml 파일에서 구성할 수 있습니다. 자세한 내용은 [AWS Mobile SDK for Unity 시작하기](getting-started-unity.md)의 Mobile Analytics 구성 섹션을 참조하십시오.