谷歌播放服务简单的聊天实现?

时间:2014-02-17 11:09:46

标签: android google-play-services

我希望为我的应用创建一个非常简单的聊天功能。

我只是希望能够在回合制多人游戏中向对手发送消息。

我不想使用像Scringo这样的库,你有什么。有没有办法实现这个?

我尝试使用Games.RealtimeMultiplayer.sendReliableMessage(),但我的玩家不在房间内,因此无效。

1 个答案:

答案 0 :(得分:1)

在查看API时,似乎发送数据的唯一方法是调用takeTurn

  

要转弯,请使用以下方法:

     

方法说明   takeTurn()

     

当用户轮到有效的回合制比赛时,您的游戏应该只调用此方法。调用此方法后,用户会在匹配列表UI中的“轮次”列表下看到此匹配项。   如果在方法调用中指定了参与者ID,则该参与者成为当前玩家并且可以转弯。第一次这发生在受邀玩家身上时,玩家会收到邀请通知。随后,玩家收到转弯通知。   如果未指定挂起的参与者ID,则匹配状态将更改为MATCH_STATUS_AUTO_MATCHING。如果有自动匹配的空闲播放器插槽,您的游戏只能保留参与者ID。   您的游戏可以将当前玩家作为待定参与者调用takeTurn()。在这种情况下,Play游戏服务会上传游戏数据,但不会发送通知。

没有其他调用可以更改服务器中保存的数据并传递给其他播放器。

现在,已经说过,可以为当前拥有Turn的玩家发送聊天。似乎有两种方法可以做到这一点,包括聊天并将待定参与者设置为下一个参与者...或仅更新聊天部分,然后调用takeTurn,并将待定参与者设置为当前活动的参与者。查看文档,这将更新Google服务器上保存的数据,但不一定会发出任何已更新的通知,因为看起来只有在通知播放器实际通知玩家时才发送通知轮到他们了。 (如果你设想你的应用程序在播放器等待其他人完成时打开,那么它可以使用getData()轮询数据,因为没有要求我可以看到它是一个玩家轮到请求数据()。

这样可以让玩家聊天,但不会像你提到的那样实时......因为API是严格转向的。