3

我将尝试使这个问题比我原来的帖子更简洁和易于理解。
我有一个 android 应用程序,我想使用 Google 游戏服务来记录成就和排行榜信息,并使用 App Engine 来存储用户数据和游戏信息。
这些中的每一个都单独工作,但我无法让它们一起工作。

当我通过开发者控制台创建我的谷歌游戏服务链接应用程序时,clientIds 已注册并在开发者控制台以及云控制台中可见。

所以此时我的云控制台中有 2 个项目,一个用于游戏服务,一个用于 App Engine。

但是,当我尝试在云控制台中使用我的 android 应用程序包名称和 SHA 证书指纹为我的应用程序引擎项目创建相同的 clientIds 时,我收到一条错误消息,指出该特定 clientId 已在使用中。当我尝试先在 App Engine 云控制台项目中创建 clientId,然后将它们添加到游戏服务开发者控制台中时,也会发生同样的事情。

有没有办法让 Android 应用同时使用 App Engine 和游戏服务?

4

2 回答 2

1

我想通了。事实证明它比我做的简单得多,一旦我回到第一方就变得很明显。

这是您如何做到这一点的方法。
在云控制台中设置应用引擎项目。对于带有 Android 的 Cloud Endpoints,您需要创建一个 Android clientId 和一个 Web clientId。但是先不要创建Android clientId,后面会通过开发者控制台创建。如果您愿意,此时可以创建 Web clientId,也可以稍后再创建。

现在转到开发者控制台 -> 游戏服务 -> 添加新游戏。

确保单击“我已经在我的游戏中使用 Google API”选项卡。现在您可以将这个新游戏链接到您的应用引擎项目。(这就是我错过了已经通过开发者控制台创建游戏并且直到现在才重新访问该过程中的这一步的原因)。

现在您可以按照以下说明进行操作

https://developers.google.com/games/services/console/enabling

当您通过开发者控制台为您的游戏服务游戏创建 clientId 时,它也会显示在云控制台中。

然后,您可以在端点代码中将其用作您的 Android ClientId(这就是您没有在上面创建 Android ClientId 的原因)。

如果您尚未创建端点需要为 Android 客户端创建的 Web clientId,那么现在就这样做。

您应该能够从您的 android 应用程序调用游戏服务,并从您的 android 应用程序调用应用程序引擎。

于 2013-11-18T03:44:15.350 回答
0

当您必须在 Google Play 开发者控制台的 GameServices 选项卡中添加新游戏后授权您的游戏时,您可以选择现有 API。他们的 clientID 将被添加到您现有的 Google Console 项目中。

在您的 Android 应用程序中,您可以使用为游戏服务选择的帐户名来登录您的 App Engine。如果您的 Activity 扩展 BaseGameActivity 获取选定的帐户名,如下所示:

Plus.AccountApi.getAccountName(getApiClient())
于 2014-08-28T11:03:20.690 回答