2015-07-12 47 views
0

我正在使用Google Play服务来保存和加载我的保存游戏。如果设备在线,这将起作用。 由于谷歌写道here这是可能做到这一点,而不是在线。但不幸的是,我得到一个Google Games Service Offline

java.lang.IllegalStateException: GoogleApiClient is not connected yet. 

,如果我尝试打开我的游戏存档使用此行:

result = Games.Snapshots.open(apiClient, SAVE_GAME_NAME, true).await(); 

我不明白,如果开放方法需要我如何能加载保存游戏连接ApiClient,我明显没有离线模式。 有人可以帮我吗?

+0

正如我在这里阅读:https://developers.google.com/games/services/training/signin Google将本地保存逻辑留给开发人员。这是正确的吗?我有点困惑。 –

回答

2

根据https://developers.google.com/android/reference/com/google/android/gms/games/snapshot/Snapshots,快照代表玩家在Google服务器上的游戏进度;因此,你需要一个服务器连接来使用它,你将加载的文件只保存在那里。当您想要离线加载保存的游戏时,必须有应用程序将读取的本地文件。我建议您在调用commitAndClose()方法时将发送的数据保存在设备的存储器中。您可以使用上述文件离线加载游戏并读取它。但是,您需要使用if语句,当用户脱机时它将加载本地文件,当用户在线时它将调用快照。

相关问题