Android 回合制多人游戏 - 如何在屏幕关闭时获取比赛更新?

Posted

技术标签:

【中文标题】Android 回合制多人游戏 - 如何在屏幕关闭时获取比赛更新?【英文标题】:Android TurnBasedMultiplayer - How to get match updates when the screen is off? 【发布时间】:2015-02-25 22:23:58 【问题描述】:

我正在将 Google Play TurnBasedMultiplayer API 用于回合制纸牌游戏。我注意到,当设备处于活动比赛中(游戏正在运行)并且屏幕关闭时,即使重新打开屏幕,它也永远不会收到比赛更新。所以当屏幕关闭并且另一个玩家轮到我时,我的比赛就变得陈旧了。

我已经注册了一个匹配更新监听器,它在屏幕打开时可以正常工作: Games.TurnBasedMultiplayer.registerMatchUpdateListener(getApiClient(), this);

但是我应该如何处理屏幕关闭并且匹配更新的情况?我是否应该在每次调用 onSignInSucceeded 时重新加载比赛?我在 Google 文档中找不到任何提及此案例的内容。

【问题讨论】:

需要查看更多代码。 Log Cat 出现什么错误? 没有错误。只是当屏幕关闭时比赛永远不会更新。但鉴于kevskree在下面的回答,这似乎是有道理的。 【参考方案1】:

如果您查看BaseGameActivity 的源代码,Google Api 客户端会在onStop 中断开连接。所以我猜你没有收到通知,因为 api 客户端已断开连接。每次调用 onSignInSucceeded 时,我都会加载/刷新匹配项,它似乎按预期工作。

【讨论】:

谢谢。我继续并在 onSignInSucceeded 中加载了比赛。按预期工作。

以上是关于Android 回合制多人游戏 - 如何在屏幕关闭时获取比赛更新?的主要内容,如果未能解决你的问题,请参考以下文章

用户点击通知时如何直接打开Android回合制多人应用程序?

Android Google Play 游戏服务回合制多人游戏不自动匹配

安卓回合制多人自定义邀请画面

iOS-Google Play 游戏服务的可用性回合制多人游戏

将 Google 回合制多人游戏与 Google App Engine 集成

如何设置 Google Play 回合制多人游戏过期时间