所以此AWS適用於 Unity 的 Mobile SDK 現已包含在AWS SDK for .NET。本指南引用適用於 Unity 的 Mobile SDK 的存檔版本。如需詳細資訊,請參閱「」什麼是AWS適用於 Unity 的 Mobile SDK?
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定適用於 Unity 的 AWS Mobile SDK
要開始使用適用於 Unity 的 AWS 移動開發工具包,您可以設置軟件開發工具包並開始構建新項目,也可以將開發工具包與現有項目集成。您也可以複製並執行樣本
先決條件
您需要有下列資訊,才能使用適用於 Unity 的 AWS Mobile SDK:
-
統一版本 4.x 或 5.x(如果要編寫在 iOS 64 位上運行的應用程序,則需要統一 4.6.4p4 或統一 5.0.1p3)
完成先決條件之後,您需要執行以下動作:
-
下載適用於 Unity 的 AWS Mobile SDK。
-
配定適用於 Unity 的 AWS Mobile SDK。
-
使用 Amazon Cognito 託獲取 AWS 證書。
步驟 1:下載適用於 Unity 的 AWS Mobile SDK
首先,下載適用於 Unity 的 AWS Mobile SDK
-
打開 Unity 編輯器並創建一個新的空項目,使用默認設置。
-
選擇資產 >導入套件 >自訂套件。
-
在 中匯入Package (套件) 對話框中,導覽到並選擇您想要使用的 .unityPackage (.unityPackage)。
-
在 中匯入包對話框中,確保選中所有項目,然後單擊匯入。
步驟 2:配定適用於 Unity 的 AWS Mobile SDK
建立場景
使用適用於 Unity 的 AWS Mobile SDK 時,您可以在Start
或者Awake
單聲道行為類的方法:
UnityInitializer.AttachToGameObject(this.gameObject);
通過選擇新建場景來自File (檔案)選單。
適用於 Unity 的 AWS 開發工具包包含其支持的每項 AWS 服務的客户端類。這些客户端使用名為awsconfig.xml。下列部分將介紹awsconfig.xmlfile. 如需這些設定的詳細資訊,請參Unity SDK API 參考。
設置默認 AWS 服務區域
若要為所有服務用户端配定預設區域:
<aws region="us-west-2" />
這將為 Unity SDK 中的所有服務客户端設置默認區域。可通過在創建服務客户端實例時顯式指定區域來覆蓋此設置,如下所示:
IAmazonS3 s3Client = new AmazonS3Client(<credentials>,RegionEndpoint.USEast1);
設定記錄信息
日誌記錄設置指定如下:
<logging logTo="UnityLogger" logResponses="Always" logMetrics="true" logMetricsFormat="JSON" />
此設置用於在 Unity 中配置日誌記錄。當您登錄到UnityLogger
,框架內部將輸出打印到調試日誌。如果要記錄 HTTP 響應,請設置 logResponses Resples 標誌-值可以是「始終」、「從不」或OnError。您還可以使用 LogMetrics 屬性記錄 HTTP 請求的性能度量,可以使用LogMetrics格式屬性,有效值為 JSON 或標準值。
下列範例顯示 awsconfig.xml 文件中最常用的設定。有關特定服務設置的詳細信息,請參閲下面的服務部分:
<?xml version="1.0" encoding="utf-8"?> <aws region="us-west-2" <logging logTo="UnityLogger" logResponses="Always" logMetrics="true" logMetricsFormat="JSON" /> />
使用 link.xml 檔案
SDK 針對特定於平台的組件使用反射。如果您使用的是 IL2CPP 腳本後端,請strip bytecode
始終在 iOS 上啟用,所以您需要有link.xml
文件,其中包含以下條目:
<linker> <!-- if you are using AWSConfigs.HttpClient.UnityWebRequest option--> <assembly fullname="UnityEngine"> <type fullname="UnityEngine.Networking.UnityWebRequest" preserve="all" /> <type fullname="UnityEngine.Networking.UploadHandlerRaw" preserve="all" /> <type fullname="UnityEngine.Networking.UploadHandler" preserve="all" /> <type fullname="UnityEngine.Networking.DownloadHandler" preserve="all" /> <type fullname="UnityEngine.Networking.DownloadHandlerBuffer" preserve="all" /> </assembly> <assembly fullname="mscorlib"> <namespace fullname="System.Security.Cryptography" preserve="all"/> </assembly> <assembly fullname="System"> <namespace fullname="System.Security.Cryptography" preserve="all"/> </assembly> <assembly fullname="AWSSDK.Core" preserve="all"/> <assembly fullname="AWSSDK.CognitoIdentity" preserve="all"/> <assembly fullname="AWSSDK.SecurityToken" preserve="all"/> add more services that you need here... </linker>
步驟 3:使用 Amazon Cognito 獲取身份池 ID
要在移動應用程序中使用 AWS 服務,您必須使用 Amazon Cognito 身份獲取身份池 ID。使用 Amazon Cognito 獲取身份池 ID 允許您的應用程序訪問 AWS 服務,而無需在應用程序中嵌入您的私有證書。這還允許您設置權限,以控制用户有權訪問哪些 AWS 服務。
要開始使用 Amazon Cognito,您必須創建一個身份池。身分集區是您的帳戶專屬的使用者身分資料存放區。每個身份池都有可配置的 IAM 角色,允許您指定應用程序用户可以訪問哪些 AWS 服務。通常,開發人員將使用每個應用程序一個身份池。如需身分集區的詳細資訊,請參Amazon Cognito 開發人員指南。
若要為應用程式建立身分集區:
-
登錄到Amazon Cognito 主控台
,然後單擊建立新的身分集區。 -
輸入身分集區的名稱,並選中複選框,以允許對未驗證身分的存取。按一下建立集區以建立身分集區。
-
按一下Allow,以建立與身分集區相關聯的兩個預設角色,一個用於未驗證的使用者。這兩個預設角色可讓您的身分集區存取 Cognito Sync 和 Mobile Analytics。
下一頁顯示創建憑據提供程序的代碼,以便您可以輕鬆地將 Cognito 身份與 Unity 應用程序集成。您可以將登入資料供應商傳遞至所使用的 AWS 用户端建構函式。程式碼看起來像這樣:
CognitoAWSCredentials credentials = new CognitoAWSCredentials ( "IDENTITY_POOL_ID", // Identity Pool ID RegionEndpoint.USEast1 // Region );
後續步驟
-
入門:閱讀適用於 Unity 的 AWS Mobile SDK 入門以獲取 SDK 中包含的服務的更詳細概述。
-
執行示範:查看我們的範例統一應用程式
,展示常見的使用案例。要運行示例應用程序,請按照上述所述設置 SDK for Unity,然後按照單個示例的自述文件中包含的説明進行操作。 -
閲讀 API 參考:檢視API 參考,瞭解適用於 Unity 的 AWS Mobile SDK。
-
詢問問題:將問題發佈到AWS Mobile SDK 論壇
或者在 Github 上打開一個問題 。