我应该如何实施TBMP重赛?

时间:2015-05-19 15:49:41

标签: android google-play-services android-notifications google-play-games

我正在创建一个多人tic tac toe游戏,它在大多数情况下都有效,但是当它重新匹配时,我的功能却不尽如人意。

所以最初我使用与Games.TurnBasedMultiplayer.rematch相同的实现作为TBMPSkeleton示例项目。基本上在调用Games.TurnBasedMultiplayer.finish之后,我会在后续回调期间通过调用match.canRematch()来检查匹配是否可以重新匹配。如果match.canRematch()返回true,则调用Games.TurnBasedMultiplayer.rematch。两者,当我调用完成并且当我调用rematch时,onTurnBasedMatchReceived回调在相对的客户端设备上被调用,并从那里检查匹配对象的rematchId。如果它不是null,那么我重置游戏。

我遇到的问题是,在获胜的玩家请求复赛然后轮到他之后,对方玩家会收到新比赛的邀请,但onTurnBasedMatchReceived回调没有被叫。我不希望失败的玩家离开我的游戏以接受或拒绝邀请。

那么有没有办法让我的应用处理邀请通知而不强迫玩家必须打开系统的通知gui?我是否应该废弃基于回合制的多人游戏API以支持它的实时对应?

1 个答案:

答案 0 :(得分:0)

我意识到我没有注册邀请的听众。注册一个后,我就能实现我想要的功能。我很放心它正在发挥作用,但很快就会注意到这一点......