

適用於 Unity 的 AWS Mobile SDK 現在已包含在 中 適用於 .NET 的 AWS SDK。本指南參考適用於 Unity 的 Mobile SDK 封存版本。如需詳細資訊，請參閱[什麼是適用於 Unity 的 AWS Mobile SDK？](what-is-unity-plugin.md)

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 適用於 Unity 的 AWS Mobile SDK 入門
<a name="getting-started-unity"></a>

此頁面為您提供適用於 Unity 的 AWS Mobile SDK 中每個 AWS 服務的概觀，以及如何設定 Unity 範例的說明。您必須先完成[設定適用於 Unity 的 AWS Mobile SDK](setup-unity.md) 頁面上的所有指示，才能開始使用下列服務。

## Amazon Cognito 身分
<a name="unity-getting-started-cognito-identity"></a>

對 AWS 進行的所有呼叫都需要 AWS 登入資料。建議您使用 [Amazon Cognito Identity](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.html) 為您的應用程式提供 AWS 登入資料，而不是將登入資料硬式編碼到應用程式中。請遵循[設定適用於 Unity 的 AWS Mobile SDK](setup-unity.md) 中的指示，透過 Amazon Cognito 取得 AWS 登入資料。

Cognito 也可讓您使用公有登入提供者驗證使用者，例如 Amazon、Facebook、Twitter 和 Google，以及支援 [OpenID Connect](https://aws.amazon.com/blogs/aws/openid-connect-support/) 的提供者。Cognito 也適用於未經驗證的使用者。Cognito 提供臨時登入資料，具有您使用 [Identity and Access Management](https://aws.amazon.com/iam) (IAM) 角色指定的有限存取權限。Cognito 是透過建立與 IAM 角色相關聯的新身分集區來設定。IAM 角色指定您的應用程式可以存取的資源/服務。

若要開始使用 Cognito Identity，請參閱 [Amazon Cognito 開發人員指南](https://docs.aws.amazon.com/cognito/latest/developerguide/what-is-amazon-cognito.html)。

## Amazon Cognito Sync
<a name="amazon-cognito-sync"></a>

 [Cognito Sync](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-sync.html) 可讓您輕鬆地將使用者偏好設定或遊戲狀態等最終使用者資料儲存至 AWS 雲端，以便無論使用者使用的裝置為何，都可供使用者使用。Cognito 也可以在本機儲存此資料，讓您的應用程式即使在網際網路連線無法使用時也能運作。當網際網路連線可用時，您的應用程式可以將本機資料同步至雲端。

若要開始使用 Cognito Sync，請參閱 [Amazon Cognito 開發人員指南](https://docs.aws.amazon.com/cognito/latest/developerguide/what-is-amazon-cognito.html)。

### 使用 CognitoSyncManager 範例
<a name="using-the-cognitosyncmanager-sample"></a>

在**專案**窗格中，導覽至 **Assets**/**AWSSDK**/**examples**/**CognitoSync**，然後在窗格右側選取 **CognitoSync** 場景以開啟場景。

若要執行範例，請按一下編輯器畫面頂端的播放按鈕。當應用程式執行時，它會顯示幾個文字方塊和按鈕，允許您輸入一些玩家資訊。下面有一系列按鈕，可在本機儲存玩家資訊、將本機玩家資訊與 Cognito 雲端同步、從 Cognito 雲端重新整理玩家資訊，以及刪除本機玩家資訊。按下每個按鈕以執行 操作。此範例會在遊戲畫面頂端顯示意見回饋。

若要設定 CognitoSyncManager 範例，您必須指定 Cognito 身分集區 ID。若要指定此值，請在 Unity 編輯器中，選取**階層**窗格中的 **SyncManager**，然後將其輸入至 **Inspector Pane **中的 **IDENTITY\$1POOL\$1ID** 文字方塊。

**注意**  
CognitoSyncManager 範例包含的程式碼說明如何使用 Facebook 身分提供者，請搜尋「USE\$1FACEBOOK\$1LOGIN」巨集。這需要使用適用於 Unity 的 Facebook 開發套件。如需詳細資訊，請參閱適用於 [Unity 的 Facebook 開發套件](https://developers.facebook.com/docs/unity/)。

## Dynamo DB
<a name="dynamo-db"></a>

 [Amazon DynamoDB](https://aws.amazon.com/dynamodb/) 是一種快速、可輕鬆擴展、高度可用、經濟實惠、非關聯式資料庫服務。DynamoDB 會移除資料儲存體的傳統可擴展性限制，同時維持低延遲和可預測的效能。

適用於 Unity 的 AWS 開發套件提供低階和高階程式庫，可用於 DynamoDB。高階程式庫包含 DynamoDB 物件映射器，可讓您將用戶端類別映射至 DynamoDB 資料表；執行各種建立、讀取、更新和刪除 (CRUD) 操作；以及執行查詢。使用 DynamoDB 物件映射器，您可以撰寫簡單、可讀取的程式碼，將物件存放在雲端。

如需 DynamoDB 的詳細資訊，請參閱 [DynamoDB 開發人員指南](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html)。

如需從 Unity 應用程式使用 Dynamo DB的詳細資訊，請參閱 [Amazon DynamoDB](dynamodb.md)。

### 使用 DynamoDB 範例
<a name="using-the-dynamodb-sample"></a>

在**專案**窗格中，導覽至 **Assets**/**AWSSDK/** **example**/**DynamoDB**。此範例由下列場景組成：
+ DynamoDBExample - 應用程式初始場景
+ LowLevelDynamoDbExample - 使用低階 DynamoDBD API 的範例
+ TableQueryAndScanExample - 示範如何執行查詢的範例
+ HighLevelExample - 使用高階 DynamoDB API 的範例

使用組建設定對話方塊 （選取 File.Build Settings 開啟），將這些場景新增至組建 （依上述順序顯示）。此範例會建立四個資料表：ProductCatalog、Forum、Thread、Resback。

若要執行範例，請按一下編輯器畫面頂端的播放按鈕。當應用程式執行時，它會顯示多個按鈕：
+ 低階資料表操作 - 說明如何建立、列出、更新、描述和刪除資料表。
+ 中階查詢和掃描操作 - 說明如何執行查詢。
+ 高階物件映射器 - 說明如何建立、更新和刪除物件。

## Mobile Analytics
<a name="mobile-analytics"></a>

使用 [Amazon Mobile Analytics](https://aws.amazon.com/mobileanalytics/)，您可以追蹤客戶行為、彙總指標、產生資料視覺化，以及識別有意義的模式。適用於 Unity 的 AWS 開發套件提供與 Amazon Mobile Analytics 服務的整合。如需 Mobile Analytics 的相關資訊，請參閱 [Mobile Analytics 使用者指南](https://docs.aws.amazon.com/mobileanalytics/latest/ug/welcome.html)。如需從 Unity 應用程式使用 Mobile Analytics 的詳細資訊，請參閱 [Amazon Mobile Analytics](analytics.md)。

### 設定 Mobile Analytics
<a name="configuring-mobile-analytics"></a>

Mobile Analytics 定義可在 awsconfig.xml 檔案中設定的一些設定：

```
<mobileAnalytics sessionTimeout = "5"
                 maxDBSize = "5242880"
                 dbWarningThreshold = "0.9"
                 maxRequestSize = "102400"
                 allowUseDataNetwork = "false"/>
```
+ sessionTimeout - 這是應用程式進入背景以及工作階段可以終止的時間間隔。
+ maxDBSize - 這是 SQLIte 資料庫的大小。當資料庫達到大小上限時，任何其他事件都會遭到捨棄。
+ dbWarningThreshold - 這是資料庫大小的限制，一旦達到此限制，就會產生警告日誌。
+ maxRequestSize - 這是應該在 HTTP 請求中傳輸至行動分析服務的位元組請求大小上限。
+ allowUseDataNetwork - 指定工作階段事件是否在資料網路上傳送的布林值。

### 使用 Mobile Analytics 範例
<a name="using-the-mobile-analytics-sample"></a>

在**專案**窗格中，導覽至**資產**/**AWSSDK/** **範例**/**Mobile Analytics**，然後在窗格右側選取 **Amazon Mobile Analytics 範例**場景以開啟場景。若要使用範例，您需要使用 [Amazon Mobile Analytics 主控台](https://docs.aws.amazon.com/mobileanalytics/latest/ug/migrate-console.html)新增應用程式。如需使用 Mobile Analytics 主控台的詳細資訊，請參閱 [Amazon Mobile Analytics 使用者指南](https://docs.aws.amazon.com/mobileanalytics/latest/ug/set-up.html)。

執行之前，請依照下列步驟設定範例：

1. 選取 AmazonMobileAnalyticsSample 遊戲物件。

1. 在「應用程式 ID」欄位中指定您的應用程式 ID （在 [Amazon Mobile Analytics 主控台](https://docs.aws.amazon.com/mobileanalytics/latest/ug/migrate-console.html)中建立）。

1. 在「Cognito Identity Pool ID」欄位中指定您的 Cognito Identity Pool ID （使用[位於 的 Amazon Cognito 主控台](https://console.aws.amazon.com/cognito/home)建立）。

1. 確保您的已驗證和未驗證的角色具有存取 Mobile Analytics 服務的許可。如需將政策套用至 IAM 角色的詳細資訊，請參閱[管理角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing.html#roles-managingrole-editing-console)。

執行範例應用程式時，請注意事件可能不會立即傳輸到後端服務。背景執行緒會在本機緩衝事件，並以定期間隔 （預設值為 60 秒） 將事件批次傳送至 Amazon Mobile Analytics 後端，以確保您遊戲的效能不會受到負面影響。由於 Amazon Mobile Analytics 會對您的資料執行複雜的處理，在初次提交後最多 60 分鐘內，提交的事件和對應的報告可能不會顯示在 AWS 主控台中。

如需 Amazon Mobile Analytics 所提供報告的詳細資訊，請參閱[報告和行動指標](https://aws.amazon.com/mobileanalytics/faqs/#report-and-metric-details)。

## Amazon S3
<a name="amazon-s3"></a>

Amazon Simple Storage Service (Amazon S3) 為開發人員和 IT 團隊提供安全、耐用、高度可擴展的物件儲存。在 Unity 中，您可以使用 S3 來存放、列出和擷取遊戲所使用的影像、影片、音樂和其他資料。

如需 S3 的詳細資訊，請參閱 [Amazon S3](https://aws.amazon.com/s3/) 和 [ S3 入門](https://docs.aws.amazon.com/AmazonS3/latest/gsg/GetStartedWithS3.html)。

如需從 Unity 應用程式使用 S3 的詳細資訊，請參閱 [Amazon Simple Storage Service (S3)](s3.md)。

### 設定 S3 預設簽章
<a name="configuring-the-s3-default-signature"></a>

預設 S3 簽章的設定如下：

```
<s3 useSignatureVersion4="true" />
```

這是用來指定您是否應將簽章版本 4 用於 S3 請求。

### 使用 S3 範例
<a name="using-the-s3-sample"></a>

在**專案**窗格中，導覽至 **Assets**/**AWSSDK**/**examples**/**S3**，然後在窗格右側選取 **S3Example** 場景以開啟場景。此範例說明如何列出儲存貯體、列出儲存貯體中的物件、將物件發佈至儲存貯體，以及從儲存貯體下載物件。執行之前，請依照下列步驟設定範例：

1. 在**階層**窗格中選取 **S3** 遊戲物件。

1. 在**檢查器**窗格中，輸入 **S3BucketName** 和 **SampleFileName** 的值。S3BucketName 是範例使用的儲存貯體名稱，而 S3SampleFileName 是範例將上傳至指定 S3 儲存貯體的檔案名稱。

1. 確保您的已驗證和未驗證角色具有存取您帳戶中 S3 儲存貯體的許可。如需將政策套用至 IAM 角色的詳細資訊，請參閱[管理角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing.html#roles-managingrole-editing-console)。

若要執行範例，請按一下編輯器畫面頂端的播放按鈕。當應用程式執行時，它會顯示多個按鈕：
+ 取得物件 - 取得 AWS 帳戶中所有儲存貯體中所有物件的清單。
+ 取得儲存貯體 - 取得您 AWS 帳戶中所有儲存貯體的清單。
+ Post Object - 將物件上傳至指定的 S3 儲存貯體。
+ 刪除物件 - 從指定的 S3 儲存貯體刪除所有物件。

此範例會在遊戲畫面頂端顯示意見回饋。

## Amazon Simple Notification Service
<a name="amazon-simple-notification-service"></a>

Amazon Simple Notification Service 是一種快速、靈活、全受管的推播通知服務，可讓您傳送個別訊息或散播訊息給大量收件人。Amazon Simple Notification Service 可讓您以簡單且經濟實惠的方式，將推播通知傳送給行動裝置使用者、電子郵件收件人，甚至傳送訊息至其他分散式服務。若要開始使用 Amazon Simple Notification Service，請參閱 [Amazon Simple Notification Service](sns.md)。

## AWS Lambda
<a name="aws-lambda"></a>

AWS Lambda 是一種運算服務，可執行程式碼以回應請求或事件，並自動為您管理運算資源，讓您輕鬆建置可快速回應新資訊的應用程式。AWS Lambda 函數可以直接從行動、IoT 和 Web 應用程式呼叫，並同步傳送回應，讓您輕鬆為行動應用程式建立可擴展、安全且高可用性的後端，而無需佈建或管理基礎設施。如需詳細資訊，請參閱 [AWS Lambda](lambda.md)。