问题标签 [google-play-games]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
18 回答
61438 浏览

android - Google Play 游戏服务 - 无法登录

在昨天的 Google I/O 主题演讲之后,我更新了我的 Android SDK 以将游戏服务集成到我的一个应用程序中。

到目前为止我做过的事情:

  1. 在开发控制台(游戏服务)中添加并链接了我的应用程序
  2. 将 OAuth 客户端 ID 包含到我的应用程序/清单中
  3. 添加BaseGameActivityGameHelper我的项目(来自 GitHub
  4. 将 google-play-services 库添加到我的项目中
  5. 扩展BaseGameActivity,添加了一个com.google.android.gms.common.SignInButton

我还设置了游戏元数据,当然还有一些成就。开发控制台声明它已准备好发布。为了测试登录流程和成就,我添加了两个 Google+ 帐户作为测试用户。

但是当我测试 SignInButton 时,会弹出一个警报:Unknown error。这是日志猫:

我已经在生产模式下构建了我的应用程序 - 使用 ProGuard 和正确的证书。

我错过了什么?

更新 - 更多尝试

以下是关于我在此期间尝试过的内容的简短概述。没有任何帮助。

  • 删除并重新创建链接的 Android 应用程序条目(双重检查证书指纹)
  • 禁用反盗版
  • 跳过保护
  • 创建一个新的(测试)游戏并使用它的客户端 ID

该问题与测试部分的帐户无关。使用未启用测试的帐户将导致另一个错误消息:

Hartok 的解决方案!

Hartok 的解决方案帮助我解决了这个问题。我以前从未访问过Google API 控制台。重要的是要知道,当您从游戏中删除链接的应用程序甚至删除游戏(在开发控制台中)时,不会删除 OAuth 客户端 ID。您必须访问 API 控制台并手动将其删除。

自动选择的 SHA1 指纹(总是)错误!您必须查找自己的:

我(正确)链接的应用程序的新客户端 ID 看起来像89xxxxxxxx73-2u6mXXXXXXXXXXXXXXXXXXX8903.apps.goo...,而不是像以前那样只有 12 位数字。我终于发现你必须排除破折号和字母数字的东西,并且只能使用 12 位数字。

0 投票
7 回答
21739 浏览

google-play-services - 如何从 Google 游戏服务重置成就?

我正在使用 Google 的新游戏服务测试我的游戏,并且我想重置我帐户的成就以进行测试。

我发现您可以使用谷歌的 API ( https://developers.google.com/games/services/management/api/#Achievements ) 重置成就,并且我正在使用 OAuth 2.0 游乐场发送 POST 请求,但是它不工作:(

具体来说,我正在为“ https://www.googleapis.com/games/v1management/achievements/reset ”发送 POST 请求,如该链接中所述。

而且,当我去 code.google com 并检查我的服务时,所有的 Play 服务都是“开启”的。

这是输出。如何重置我的成就以进行测试?我什至接近吗?显然我的“未配置访问权限”我该怎么做?如果不授予我访问权限,OAuth2.0 操场的前两个步骤的意义何在?

0 投票
4 回答
1740 浏览

java - Google play 游戏服务邀请丢失

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

我的问题是在发送邀请时并不总是收到邀请。有时它工作得又快又完美,有时它不起作用。只需取消邀请并重试即可更改结果。

这里我做了 3 次测试,只是为了让它更清楚:

测试一:模拟器是邀请者,Nexus 4没有收到,擎天柱收到了

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

测试 3:擎天柱是邀请者,模拟器收到,Nexus 4 没有收到

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

此外,有时我会收到邀请通知(在状态栏上),但大多数时候我没有收到。

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

0 投票
1 回答
626 浏览

java - 从另一个活动发送实时消息

我正在为我的实时多人游戏使用 Google Play 游戏服务,但我无法从另一个不扩展 com.google.example.games.basegameutils.BaseGameActivity 的活动广播实时消息。

我扩展 BaseGameActivity 的活动 (MainActivity) 获得了一个静态实例,我从使用 Andengine 的其他活动 (RaceActivity) 中使用该实例。首先,我实例化我的 MainActivity 并在所有玩家都准备好时启动 RaceActivity。然后,在我的 RaceActivity 中,我从 MainActivity 中调用一个静态函数来广播一条消息,但它给了我这个异常:

有人知道什么是实时匹配服务吗?我什至在谷歌上都找不到...

0 投票
2 回答
3062 浏览

android - BaseGameActivity 和多重继承

我想使用游戏示例中的 BaseGameActivity :

https://github.com/playgameservices/android-samples/blob/master/BaseGameUtils/src/com/google/example/games/basegameutils/BaseGameActivity.java

但我的游戏活动必须从另一个框架的活动类扩展。是否有一个 BaseGameActivity 的实现被分解为一个单独的类,所以我不必让我的活动从它继承?

谢谢

0 投票
1 回答
803 浏览

android - 发送邀请后 Google Play 游戏服务崩溃

我一直在使用 Google Play 游戏服务实现多人游戏,并且可以在客户端之间发送消息。现在,每次我发送邀请、登录和其他一切工作正常时,谷歌播放服务都会崩溃。我的应用程序以及谷歌的多人游戏示例应用程序都会发生这种情况。我认为崩溃是在 ADT 更新后开始的。

日志猫:

0 投票
1 回答
2695 浏览

android - Google Play 游戏服务占用 Android Res 文件夹和 Web API 替代方案的问题?

因此,我们正在开发基于 Unity 的 Android 游戏。我们已经实现了 Facebook 身份验证,这利用了 Android/Res 文件夹。它在那里存储一些值和图像。

在尝试实现用于身份验证、排行榜、成就......的 Google Play SDK 时,我们意识到它也使用了 Android/Res 文件夹,这显然会导致崩溃并且目前不可能。

我们对 2 个选项感到好奇

1) 有没有可能的方法允许 2 个不同的服务使用 Android 资源系统?请注意,我们使用的是 Unity,该插件由 Prime31 制作。

如果库的源已发布,则可以进行修改,以便不使用资源文件夹。

2) 如果我们无法让 Facebook 和 Google Play 服务共存,那么整个过程是否可以通过 REST JSON 访问?我们的应用程序如何启动浏览器或 Google+ 应用程序以安全地获取凭据,从而执行 Google+ 登录?

请参阅下面的错误日志

0 投票
3 回答
8909 浏览

android - 使用 Google Apps 帐户登录时,在 Android 上验证 Google Play 游戏服务会导致错误

在通过 Google+ 进行身份验证时,我在使用 Google Apps 帐户登录时遇到了“未知错误”消息。

我有多个帐户,一个是个人 gmail,另一个是 google apps 帐户。

通过个人 gmail 帐户登录时,一切正常。使用谷歌应用程序电子邮件地址(我已注册到开发者控制台和谷歌播放服务和谷歌 API)登录时出现错误。

以下是 logcat 输出。任何想法发生了什么?

0 投票
4 回答
4005 浏览

android - 从片段调用 Google Play 游戏服务

我已经在我的 Android 应用程序中将一些 Google Play 游戏服务功能实现为单独的 Activity,我现在正尝试将我的代码重写为(Action Bar Sherlock)片段。我在我的片段中使用提供的 GameHelper 代码。

自动登录正常工作。用户发起的登录失败,因为 GameHelper 中的 StartResolutionForResult 调用返回到 Activity 的 onActivityResult 而不是片段。我已经使用 Log.D 验证了所有这些。我对此的理解是有限的——我应该怎么做才能解决这个问题?我尝试过传递不同的上下文,但 StartResolutionForResult 似乎只接受一个 Activity 作为它的上下文。

0 投票
1 回答
537 浏览

android - Google play 游戏服务 - 从应用程序以横向模式启动 google+ 登录流程

让我从Google 团队提供的BaseGameUtils中的 GameHelper 类的相关代码开始:

我的应用程序清单文件强制我的应用程序的方向为横向

当我的玩家第一次请求多人游戏时,他会看到 google+ 登录按钮,该按钮绘制在 opengl 画布中(一切都是横向的)。一旦他点击它,用户发起的登录流程就开始并执行上述方法。

如果我注释掉中途添加的行,就会发生奇怪的事情。

有时我会看到选择我的一个谷歌帐户的对话,有时意图的结果表明连接失败,我返回我的应用程序。对于这些我可以选择帐户的时间,在我这样做之后:

  • 屏幕的方向从横向到纵向来回切换了几次
  • 呈现谷歌登录对话的活动在其自身之上多次启动。
  • 我必须选择我的 google+ 应用程序共享偏好并在至少 3 次连续相同的对话中至少按 3 次“确定”。有时缺少“公共”按钮(其位置有空格)
  • 有时我在上述所有情况发生后成功登录,有时我收到失败消息。当我再次单击登录时,它会自动登录成功,无需任何用户交互。

我试图弄清楚我是否做错了什么,或者这是否是一个已知问题。有没有人能够复制它?(请注意,这只发生在第一次登录时,即如果一个人想尝试复制它,他首先需要:

  • 清除应用数据
  • 转到 google+ 应用设置,然后断开应用与 google 帐户的连接

我不确定这是否与连接到 GAMES_CLIENT 有关,或者从横向应用程序启动 google+ 登录流程通常是否存在问题。

提前致谢, 尼科斯