

 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 プールの ID を指定する必要があります。新しい Cognito ID プールと ID を作成する方法については、[Cognito ID 開発者ガイド](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 Amazon.MobileAnalytics.MobileAnalyticsManager;
using Amazon.CognitoIdentity;
```

Amazon Cognito を使用するベストプラクティスは、一時的な AWS 認証情報をアプリケーションに提供することです。アプリは、これらの認証情報を使用して AWS リソースにアクセスします。認証情報プロバイダーを作成するには、「[Amazon Cognito ID](cognito-identity.md)」の手順に従います。

次の情報を使用して、MobileAnalyticsManager をインスタンス化します。
+ cognitoIdentityPoolId - アプリの Cognito ID プールの ID
+ cognitoRegion - Cognito ID プールのリージョン (例: 「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 コンソールに移動して、画面右上隅の歯車アイコンをクリックします。これにより、登録済みのアプリとアプリ ID がすべて表示されたアプリの管理ページが表示されます。

### 収益化イベントの記録
<a name="record-monetization-events"></a>

SDK for Unity には、`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 の設定」セクションを参照してください。