Android web客户端库的云存储?
我想在3个平台的游戏中使用云存储。例如,你可以在网上玩,然后继续在手机上玩 我正在查看API文档,我只能看到对获取快照的支持。我想创建一个新快照,然后保存它。它展示了如何为手机而不是网络做到这一点 当然,这项服务不会以这种方式限制你。它会破坏用户体验 谢谢,Android web客户端库的云存储?,android,google-play-games,Android,Google Play Games,我想在3个平台的游戏中使用云存储。例如,你可以在网上玩,然后继续在手机上玩 我正在查看API文档,我只能看到对获取快照的支持。我想创建一个新快照,然后保存它。它展示了如何为手机而不是网络做到这一点 当然,这项服务不会以这种方式限制你。它会破坏用户体验 谢谢, Shaun.在这里,如果不存在,您可以按名称创建savegame: Snapshots.OpenSnapshotResult open = Games.Snapshots.open( mGoogleApiCl
Shaun.在这里,如果不存在,您可以按名称创建savegame:
Snapshots.OpenSnapshotResult open = Games.Snapshots.open(
mGoogleApiClient, name, create).await();
if (!open.getStatus().isSuccess()) {
throw new RuntimeException("or whatever");
}
Snapshot snapshot = open.getSnapshot();
snapshot.getSnapshotContents().writeBytes(mySaveGame);
create
是一个布尔值,告诉您要在不存在时创建一个新的
name
是savegame的名称
mySaveGame
是要存储的二进制blob。据我所知,您的示例中可能存在以下情况
Snapshots.OpenSnapshotResult open = Games.Snapshots.open(
mGoogleApiClient, name, create).await();
if (!open.getStatus().isSuccess()) {
throw new RuntimeException("or whatever");
}
Snapshot snapshot = open.getSnapshot();
snapshot.getSnapshotContents().writeBytes(mySaveGame);
然而,对于上面的场景2和场景4,您将需要使用RESTAPI服务来实现“Play Games services for Web”
因此,首先必须发出HTTP请求以获取播放器ID
得到
随后,您需要知道针对该播放机保存的快照ID。因此,请发出另一个HTTP请求
得到
对于检索到的快照ID,发出HTTP请求以检索相关快照。它需要授权。此时,将返回与保存的快照相对应的JSON对象
我希望这有助于。。。我假设您知道在返回JSON对象后如何加载快照。请随时要求进一步澄清
有关更多详细信息,请参见,不幸的是,您知道没有API可以使用web API编写保存的游戏。如果你想支持网络和手机游戏的保存,你必须自己实现它。一个简单的方法是使用for Google Drive。这允许应用程序将数据存储在播放器驱动器帐户的隐藏目录中。此API也可在Android()甚至iOS()上使用 由于不使用Play Game服务,您错过的主要是客户端和用户界面上用于选择快照的一些缓存逻辑。如果您消除了缓存逻辑,也就不需要复杂的冲突解决(假设您使用“最后一次写入成功”的方法) 在高层次上,这些步骤将是:
是的,但是如何通过网络做到这一点呢?我正在使用OpenFL,所以一次就瞄准了所有目标。