Google Play游戏服务邀请函迷失了

我正在使用新的Google Play游戏服务在Android上开发我的游戏,现在我正在尝试添加邀请系统。 我有3个Google+帐户可用于试用2个Android设备和1个Android模拟器的邀请。

我的问题是,发送邀请时并不总是收到邀请。 有时它可以快速而完美地工作,有时它不起作用。 只需取消邀请并再次尝试即可更改结果。

这里进行了3次测试,只是为了让它更清晰:

测试1:模拟器是邀请者,Nexus 4没有收到,而Optimus One收到了

测试2:Nexus 4是邀请者,Emulator收到,Optimus One收到

测试3:Optimus One是邀请者,收到Emulator,Nexus 4没有收到

根据这些结果,我们可以看到我的Nexus 4没有收到邀请,但在这些测试之前它已经工作了好几次。

此外,有时我会收到邀请通知(在状态栏上),但大部分时间我都没有收到邀请通知。

有人经历过和我一样的exception吗?

这可能与您登录的帐户有关。 我发现我可以从我的开发帐户向“测试”帐户发送邀请,但不是相反。

如果您使用Wi-Fi热点(无线路由器)进行测试,附近还有其他Wi-Fi热点,它们可能会干扰您的Wi-Fi信号并阻止游戏邀请。 虽然大多数路由器使用的2.4 GHz频段有11个频道可用,但大多数无线路由器默认使用相同的频道(6)。 如果您遇到这种情况,请尝试更改路由器使用的频道。

这个问题让我陷入了几个星期的困境。

一些指示:

  1. 检查所有测试帐户是否在他们的圈子中互相拥有。 所以,如果你的测试账户是A,B和C,那么A应该在他们的圈子中有B和C,B应该有A和C,C应该有A和B.

  2. 邀请发送所需的时间可能会有所不同; 网络连接是其中的一个重要因素。 不要太早放弃 – 等待1分钟而不退出握手过程,应该出现邀请。

  3. 如果游戏未发布,请确保所有测试帐户都列在Developer Console上应用程序设置的“测试”部分中。 如果未列出测试人员,他们将不会收到邀请弹出窗口。 注意:即使是在Developer Console上创建应用程序的开发人员也必须列为测试人员。

如果您正在使用Games.Invitations.registerInvitationListener()您的代码应该处理邀请,您将无法获得标准的Android通知。 现在,如果你没有在适当的时候调用Games.Invitations.unregisterInvitationListener() ,也许你的代码没有正确处理邀请,而且没有你的意愿就会消耗它。