通過認知同步同步用户數據 - AWS Mobile SDK

Xamarin 的AWS行動 SDK 現在已包含在AWS SDK for .NET. 本指南參考 Xamarin 行動 SDK 的封存版本。

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

通過認知同步同步用户數據

Amazon Cognito Sync 可更輕鬆地在 AWS 雲端儲存手機使用者資料,例如應用程式偏好設定或遊戲狀態,而不必編寫後端程式碼或管理任何基礎設施。您可以在使用者的本機裝置上儲存資料。如此一來,即使裝置處於離線狀態,應用程式仍然可以運作。您還可以在使用者的多台裝置間同步資料,無論他們使用哪一台裝置,皆能維持一致的應用程式體驗。

以下教學課程介紹如何將同步與您的應用程式集成。

項目設定

先決條件

您必須完成設定適用於 .NET 和 Xamarin 的 AWS Mobile SDK,然後再開始本教程。

授予對您的 Cognito 同步資源的訪問權限

與您在安裝過程中創建的未經身份驗證和身份驗證角色相關聯的默認策略授予應用程序對 Cognito Sync 的訪問權限。無需進一步設定。

AddNuGet用於 Cognito 同步到您的項目的軟件包

請按照中的説明步驟 4設定適用於 .NET 和 Xamarin 的 AWS Mobile SDK添加 CognitoSyncManager NuGet套件添加至您的項目。

初始化CognitoSync經理

將您已初始化的 Amazon Cognito 登入資料供應商傳遞到 CognitoSyncManager 建構函數:

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

同步使用者資料

要同步未經身份驗證的用户數據:

  1. 建立資料集。

  2. 將使用者資料添加至資料集。

  3. 將數據集與雲同步。

建立資料集

建立 Dataset 的執行個體。所以此openOrCreate資料集方法可用於建立新的資料集或開啟裝置上本機儲存的資料集的現有實例:

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

將用户數據添加到數據集

使用者資料以索引鍵/值對的形式添加:

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

Cognito 資料集的功能有如字典,可依索引鍵來存取值:

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

同步資料集

若要同步資料集,請調用其同步方法:

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

寫入數據集的所有數據都將在本地存儲,直到數據集同步為止。本節中的代碼假定您使用的是未經身份驗證的 Cognito 身份,因此當用户數據與雲同步時,它將按設備存儲。設備具有與其關聯的設備 ID。當用户數據同步到雲時,它將與該設備 ID 相關聯。

有關 Cognito 同步的詳細信息,請參閲Amazon Cognito Sync