谷歌游戏服务离线
Posted
技术标签:
【中文标题】谷歌游戏服务离线【英文标题】:Google Games Service Offline 【发布时间】:2015-09-30 20:37:06 【问题描述】:我正在使用 Google Play 服务来保存和加载我保存的游戏。如果设备在线,则此方法有效。 正如 google 所写的here 那样,无需上网就可以做到这一点。但不幸的是我得到了一个
java.lang.IllegalStateException: GoogleApiClient is not connected yet.
如果我尝试使用此行打开我的游戏存档:
result = Games.Snapshots.open(apiClient, SAVE_GAME_NAME, true).await();
如果 open 方法需要连接的 ApiClient 而我在离线模式下显然没有,我不明白如何加载保存游戏。 有人能帮帮我吗?
【问题讨论】:
我在这里读到:developers.google.com/games/services/training/signin Google 将本地保存逻辑留给了开发人员。这是正确的吗?我有点困惑。 【参考方案1】:根据https://developers.google.com/android/reference/com/google/android/gms/games/snapshot/Snapshots,快照代表玩家在谷歌服务器上的游戏进度;因此,您需要一个服务器连接才能使用它,并且您将加载的文件仅保存在那里。当您想离线加载保存的游戏时,必须有一个应用程序将读取的本地文件。我建议当您调用 commitAndClose() 方法时,将发送的数据保存在设备的存储中。您可以使用上述文件离线加载游戏并阅读它。但是,您需要使用 if 语句,当用户离线时它会加载本地文件,当用户在线时它会调用 Snapshots。
【讨论】:
以上是关于谷歌游戏服务离线的主要内容,如果未能解决你的问题,请参考以下文章
游戏开发进阶教你自制离线Maven仓库,实现Unity离线环境使用Gradle打包(Unity | Android | 谷歌 | Gradle)
游戏开发进阶教你自制离线Maven仓库,实现Unity离线环境使用Gradle打包(Unity | Android | 谷歌 | Gradle)