

適用於 Unity 的 AWS Mobile SDK 現在已包含在 中 適用於 .NET 的 AWS SDK。本指南參考適用於 Unity 的 Mobile SDK 封存版本。如需詳細資訊，請參閱[什麼是適用於 Unity 的 AWS Mobile SDK？](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 Amazon.MobileAnalytics.MobileAnalyticsManager;
using Amazon.CognitoIdentity;
```

最佳實務是使用 Amazon Cognito 為您的應用程式提供臨時 AWS 登入資料。這些登入資料可讓應用程式存取您的 AWS 資源。若要建立登入資料提供者，請遵循 [Amazon Cognito Identity ](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 主控台，按一下畫面右上角的齒輪圖示。這會顯示應用程式管理頁面，其中列出所有已註冊的應用程式及其應用程式 IDs。

### 記錄獲利事件
<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 檔案中設定。如需詳細資訊，請參閱適用於 [Unity 的 AWS Mobile SDK 入門中的設定](getting-started-unity.md) Mobile Analytics 一節。