AWS Mobile SDK for Unity 설정 - AWS Mobile SDK for Unity

AWS Mobile SDK for Unity는 이제 AWS SDK for .NET에 포함됩니다. 이 가이드에서는 Mobile SDK for Unity의 아카이브 버전을 참조합니다. 자세한 정보는 AWS Mobile SDK for Unity란 무엇인가요? 섹션을 참조하세요.

AWS Mobile SDK for Unity 설정

AWS Mobile SDK for Unity를 시작하려면 SDK를 설정하고 새 프로젝트를 빌드하거나 SDK를 기존 프로젝트와 통합할 수 있습니다. 또한 샘플을 복제하고 실행하여 SDK가 어떻게 작동하는지 엿볼 수도 있습니다.

필수 조건

AWS Mobile SDK for Unity를 사용하려면 다음이 필요합니다.

  • AWS 계정

  • Unity 버전 4.x 또는 5.x(iOS 64비트에서 실행되는 애플리케이션을 작성하려면 Unity 4.6.4p4 또는 Unity 5.0.1p3이 필요함)

사전 조건을 모두 충족한 후, 시작하려면 다음 작업을 수행해야 합니다.

  1. AWS Mobile SDK for Unity를 다운로드합니다.

  2. AWS Mobile SDK for Unity를 구성합니다.

  3. Amazon Cognito를 사용하여 AWS 보안 인증을 받습니다.

1단계: AWS Mobile SDK for Unity 다운로드

먼저 AWS Mobile SDK for Unity를 다운로드합니다. SDK 내 각 패키지는 패키지의 이름에 따라 해당하는 AWS 서비스를 사용해야 합니다. 예를 들어 aws-unity-sdk-dynamodb-2.1.0.0.unitypackage 패키지는 AWS DynamoDB 서비스를 직접적으로 호출하는 데 사용됩니다. 모든 패키지를 가져올 수도 있고 사용할 패키지만 가져올 수도 있습니다.

  1. Unity 편집기를 열고 기본 설정을 사용하여 빈 프로젝트를 새로 생성합니다.

  2. 자산 > 패키지 가져오기 > 사용자 지정 패키지를 선택합니다.

  3. 가져오기 패키지 대화 상자에서 사용할 .unitypackage 파일을 선택합니다.

  4. 가져오기 패키지 대화 상자에서 모든 항목이 선택되었는지 확인하고 가져오기를 클릭합니다.

2단계: AWS Mobile SDK for Unity 구성

장면 생성

AWS Mobile SDK for Unity를 사용하여 작업할 때 mono behavior 클래스의 Start 또는 Awake 메서드에 다음 코드를 포함하여 시작할 수 있습니다.

UnityInitializer.AttachToGameObject(this.gameObject);

파일 메뉴에서 새 장면을 선택하여 장면을 생성합니다.

AWS SDK for Unity에는 지원하는 각 AWS 서비스에 대한 클라이언트 클래스가 포함되어 있습니다. 이러한 클라이언트는 awsconfig.xml이라는 파일을 사용하여 구성됩니다. 다음 섹션에서는 awsconfig.xml 파일에서 가장 자주 사용되는 설정을 설명합니다. 이러한 설정에 대한 자세한 내용은 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에 로그할 때 프레임워크가 내부적으로 출력을 Debug Logs에 인쇄합니다. HTTP 응답을 로그하려는 경우 logResponses 플래그를 설정합니다. 사용 가능한 값은 Always, Never 또는 OnError입니다. 또한 logMetrics 속성을 사용하여 HTTP 요청에 대한 성능 지표를 로그할 수도 있습니다. 로그 형식은 LogMetricsFormat 속성은 사용하여 지정할 수 있으며 유효한 값은 JSON 또는 표준입니다.

다음 예제는 awsconfig.xml 파일에서 가장 자주 사용되는 설정을 보여줍니다. 특정 서비스 설정에 대한 자세한 내용은 아래 서비스 단원을 참조하십시오.

<?xml version="1.0" encoding="utf-8"?> <aws region="us-west-2" <logging logTo="UnityLogger" logResponses="Always" logMetrics="true" logMetricsFormat="JSON" /> />

SDK는 플랫폼별 구성 요소를 반영합니다. IL2CPP 스크립팅 백엔드를 사용하는 경우 iOS에서 strip bytecode가 항상 활성화됩니다. 그러므로 어셈블리 루트에 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 Identity를 사용하여 자격 증명 풀 ID를 받아야 합니다. Amazon Cognito를 사용하여 자격 증명 풀 ID를 받으면 애플리케이션에 프라이빗 보안 인증을 포함하지 않아도 애플리케이션이 AWS 서비스에 액세스할 수 있습니다. 또한 사용자가 액세스할 수 있는 AWS 서비스를 제어하는 권한을 설정할 수도 있습니다.

Amazon Cognito를 시작하려면 자격 증명 풀을 생성해야 합니다. 자격 증명 풀은 계정에 관련된 사용자 자격 증명 데이터의 저장소입니다. 모든 자격 증명 풀은 구성 가능한 IAM 역할을 포함하며, 이 역할을 사용해 애플리케이션 사용자가 액세스할 수 있는 AWS 서비스를 지정할 수 있습니다. 일반적으로 개발자는 애플리케이션당 하나의 자격 증명 풀만 사용합니다. 자격 증명 풀에 대한 자세한 내용은 Amazon Cognito 개발자 안내서를 참조하십시오.

애플리케이션의 자격 증명 풀을 생성하는 방법:

  1. Amazon Cognito 콘솔에 로그인하고 새 자격 증명 풀 만들기를 클릭합니다.

  2. 자격 증명 풀의 이름을 입력하고 확인란을 선택하여 인증되지 않은 자격 증명에 대해 액세스를 활성화합니다. 풀 생성을 클릭하여 자격 증명 풀을 생성합니다.

  3. 허용을 클릭하여 자격 증명 풀과 연결된 기본 역할 2개(인증되지 않은 사용자의 역할 1개, 인증된 사용자의 역할 1개)를 생성합니다. 이 기본 역할은 Cognito Sync 및 Mobile Analytics에 대한 자격 증명 풀 액세스를 제공합니다.

다음 페이지에는 손쉽게 Cognito Identity를 Unity 애플리케이션에 통합할 수 있도록 보안 인증 공급자를 생성하는 코드가 나와 있습니다. 보안 인증 공급자 객체를 사용 중인 AWS 클라이언트 생성자에 전달합니다. 코드는 다음과 같습니다.

CognitoAWSCredentials credentials = new CognitoAWSCredentials ( "IDENTITY_POOL_ID", // Identity Pool ID RegionEndpoint.USEast1 // Region );

다음 단계