查询当前比赛的谷歌游戏服务

时间:2014-05-23 06:22:19

标签: android google-play-games

我正在为简单的游戏实施回合制游戏服务: https://developers.google.com/games/services/android/turnbasedMultiplayer

我正在使用basegameutils中的GameHelper类。

我想保存一些不相关的数据(统计数据),所以我不想在玩家之间发送它。我在本地保存这些数据(sqlite),将其与TurnBasedMatch.getMatchId()

相关联

我需要知道的是如何查询谷歌游戏服务(我猜是通过GameHelper),这是签名玩家的当前匹配,所以我可以删除旧的本地数据。

感谢。

1 个答案:

答案 0 :(得分:0)

更好地看文档,我终于找到了解决方案。

如果您的活动来自BaseGameActivity,则可以执行以下操作:

Games.TurnBasedMultiplayer.loadMatchesByStatus(getApiClient(),
            TurnBasedMatch.MATCH_TURN_STATUS_COMPLETE,                
            TurnBasedMatch.MATCH_TURN_STATUS_MY_TURN,
            TurnBasedMatch.MATCH_TURN_STATUS_THEIR_TURN)
            .setResultCallback(deleteNotPresentMatches);

使用您自己的回叫,例如:

private ResultCallback<TurnBasedMultiplayer.LoadMatchesResult> deleteNotPresentMatches = new ResultCallback<TurnBasedMultiplayer.LoadMatchesResult>() {
    public void onResult(TurnBasedMultiplayer.LoadMatchesResult r) { 
        //whatever you want, in my case delete local data for old matches
    }
};