2

我们正在使用 Unity 开发一款手机游戏,我们将使用 AWS 服务来存储所有用户数据和游戏内容。

我们已经构建了所有集成并存档以与 AWS SDK 集成以实现统一,DynamoDB 和 S3 正在按预期工作,但我们在使用 CognitoStore 时遇到了一些问题。

当我们调用 _ds.Synchronize () 或 _syncManager.RefreshDatasetMetadataAsync() 时,我们会得到 403 Forbidden Error。

WebException:403 Forbidden Rethrow as AmazonServiceException:403 Forbidden Rethrow as DataStorageException:无法列出数据集中的记录:帐户

简化政策:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "mobileanalytics:PutEvents",
        "cognito-sync:*"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}

完整政策见:http: //goo.gl/dcUkPC

代码:

try {
CognitoSyncClientManager.init();
_syncManager = CognitoSyncClientManager.CognitoSyncManagerInstance;                                     
} catch (Exception ex) {
Debug.LogException (ex);
return;
}

_dsAccount = _syncManager.OpenOrCreateDataset ("Account");
_dsAccount.Put ("test", "1");
_dsAccount.Synchronize ();

不确定我们是否遗漏了任何东西,但我花了 3 天时间搜索并尝试解决这个问题。如果你们中的任何人能帮助解决这个问题,我将不胜感激。

你们中有人知道如何解决这个问题吗?

注意:我们在 Unity 3D 示例项目中遇到了同样的问题。

更新 12/02/15 将 SDK 更新到 1.0.1,但我收到错误 400 Bad request。仍在努力使其发挥作用。

谢谢!

4

1 回答 1

0

刚刚在具有 Windows 7 的 VM 上进行了测试,相同的项目/设置并且它有效。

我在我的 Mac 上重复了测试,它成功了。

还不确定是不是问题,但在 Windows 中打开同一个项目,而不是在 Mac 上再次使用 v1.0.1 aws Unity SDK 工作。也许是统一缓存或类似的问题。但它正在工作。

谢谢!

于 2015-02-19T16:06:07.380 回答