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 游戏服务的可用性回合制多人游戏