Cognito 동기화로 사용자 데이터 동기화 - AWS Mobile SDK

AWS Mobile SDK for Xamarin은 이제 AWS SDK for .NET에 포함됩니다. 이 안내서에서는 Xamarin용 모바일 SDK의 아카이브된 버전을 참조합니다.

Cognito 동기화로 사용자 데이터 동기화

Amazon Cognito Sync를 사용하면 백엔드 코드를 작성하거나 인프라를 관리하지 않고도 앱 기본 설정 또는 게임 상태 같은 모바일 사용자 데이터를 손쉽게 AWS 클라우드에 저장할 수 있습니다. 사용자의 디바이스에 로컬로 데이터를 저장하여 디바이스가 오프라인 상태에서도 애플리케이션이 작동하도록 할 수 있습니다. 이러한 데이터를 사용자 디바이스 간 동기화할 수도 있으므로 사용하는 디바이스에 관계없이 일관된 앱 환경을 제공합니다.

자습에서는 앱에 Sync를 통합하는 방법을 설명합니다.

프로젝트 설정

필수 조건

이 자습서를 시작하기 전에 .NET 및 Xamarin용 AWS Mobile SDK 설정의 지침을 모두 완료해야 합니다.

Cognito Sync 리소스에 대한 액세스 권한 부여

설정 시 생성한 인증되지 않은 역할 및 인증된 역할에 연결된 기본 정책은 애플리케이션에 Cognito Sync에 대한 액세스 권한을 부여합니다. 추가 구성이 필요하지 않습니다.

프로젝트에 Cognito Sync용 NuGet 패키지 추가

.NET 및 Xamarin용 AWS Mobile SDK 설정 내 지침의 4단계를 따라 Cognito SyncManager NuGet 패키지를 프로젝트에 추가합니다.

CognitoSyncManager를 초기화합니다.

초기화된 Amazon Cognito 자격 증명 공급자를 CognitoSyncManager 생성자로 전달합니다.

CognitoSyncManager syncManager = new CognitoSyncManager ( credentials, new AmazonCognitoSyncConfig { RegionEndpoint = RegionEndpoint.USEast1 // Region } );

사용자 데이터 동기화

인증되지 않은 사용자 데이터를 동기화하는 방법:

  1. 데이터 세트를 생성합니다.

  2. 데이터 세트에 사용자 데이터를 추가합니다.

  3. 데이터 세트를 클라우드와 동기화합니다.

데이터 세트 생성

Dataset의 인스턴스를 만듭니다. 새 데이터 세트를 생성하거나 디바이스에서 로컬로 저장된 데이터 세트의 기존 인스턴스를 여는 데 openOrCreateDataset 메서드가 사용됩니다.

Dataset dataset = syncManager.OpenOrCreateDataset("myDataset");

데이터 세트에 사용자 데이터 추가

사용자 데이터는 키/값 페어 형식으로 추가됩니다.

dataset.OnSyncSuccess += SyncSuccessCallback; dataset.Put("myKey", "myValue");

Cognito 데이터 세트는 키를 통해 값에 액세스할 수 있는 사전으로 작동합니다.

string myValue = dataset.Get("myKey");

데이터 세트 동기화

데이터 세트를 동기화하려면 해당 synchronize 메서드를 호출합니다.

dataset.SynchronizeAsync(); void SyncSuccessCallback(object sender, SyncSuccessEventArgs e) { // Your handler code here }

데이터 세트가 동기화될 때까지 데이터 세트에 기록된 모든 데이터가 로컬에 저장됩니다. 이 섹션의 코드는 인증되지 않은 Cognito 자격 증명을 사용하는 것으로 가정합니다. 따라서 사용자 데이터는 클라우드와 동기화되면 디바이스별로 저장됩니다. 디바이스에는 디바이스 ID가 연결되어 있습니다. 사용자 데이터가 클라우드와 동기화되면 해당 디바이스 ID와 연결됩니다.

Cognito Sync에 대한 자세한 내용은 Amazon Cognito Sync를 참조하세요.