Android Studio ~ games.applications.played Api 错误,Apk 发布后分数不会提交
Android Studio ~ games.applications.played Api Error, scores won't submit after Apk Release
我完全困惑和卡住了。我的高分在发布之前有效。工作 100%。现在我已经发布了,现在我遇到了不断的问题。最大的是高分问题。代码很好。日志完全没有显示错误。这是一个 api 问题,因为控制台抛出两个错误,这两个错误显然与我的发布 AUTHID 有关。两个错误如下:
games.applications.played: 100
games.scores.submitMultiple: 100
我的代码如下:
public void playerscores() {
if (apiClient != null && apiClient.isConnected()) {
Games.Leaderboards.loadCurrentPlayerLeaderboardScore(apiClient, getString(R.string.leaderboard_highscores, LeaderboardVariant.TIME_SPAN_ALL_TIME, LeaderboardVariant.COLLECTION_PUBLIC).setResultCallback(
new ResultCallback<Leaderboards.LoadPlayerScoreResult>() {
@Override
public void onResult(Leaderboards.LoadPlayerScoreResult arg0) {
LeaderboardScore c = arg0.getScore();
String score = c.getDisplayScore();
GameSurface.HighScore = Integer.parseInt(score);
saver.saveString(HIGHSCORE, score);
}
});
}
}
无论如何这是我目前的主要问题。此方法被调用并且应该 post 高分。但是它什么都不做,然后它不会让我在游戏中再次打开高分。它只是不会加载。我已经检查过,我的 AUTHID 没问题,我的应用程序 ID 匹配,一切似乎都应该正常工作。我不知道怎么了
public void gameover() {
Games.Leaderboards.submitScore(apiClient, getString(R.string.leaderboard_highscores), GameSurface.HighScore);
}
我已经检查了我的 sha1 它匹配,我已经解压了版本检查,sha1 匹配,Auth ID 匹配所有匹配,调试 Auth 仍然存在,我真的不知道出了什么问题,请任何帮助不胜感激我真的很困惑。
总而言之,Google 游戏让我登录。我可以打开高分,玩游戏,获得分数,死亡,没有 post 发生,无法打开高分再也没有了。
您需要将其添加到 Google Play 控制台中的链接应用。
您应该至少有两个链接的应用程序,一个带有调试 sha1 密钥,另一个带有发布 sha1 密钥。
仅在 Google Cloud Platform 中拥有它是不够的。
检查这些步骤:
在 Google 开发者控制台中
- 为此特定版本创建一个 OAuth 2.0 客户端 ID,您将需要包名称及其特定的 SH1 密钥。
- 如果您将 API 密钥限制为 Android 个应用程序,则相同的 SH1 密钥和程序包名称应该列在 API 密钥中。
在 Google Play 管理中心
- Select 游戏服务部分中的游戏,然后单击关联应用程序 菜单。
- 单击关联另一个应用程序和select Android.
- 填写表格,您必须在程序包名称字段中select申请。
- 如果是 Play 商店版本,您需要检查新玩家优先
- 单击保存按钮。
就这些了。
我完全困惑和卡住了。我的高分在发布之前有效。工作 100%。现在我已经发布了,现在我遇到了不断的问题。最大的是高分问题。代码很好。日志完全没有显示错误。这是一个 api 问题,因为控制台抛出两个错误,这两个错误显然与我的发布 AUTHID 有关。两个错误如下:
games.applications.played: 100
games.scores.submitMultiple: 100
我的代码如下:
public void playerscores() {
if (apiClient != null && apiClient.isConnected()) {
Games.Leaderboards.loadCurrentPlayerLeaderboardScore(apiClient, getString(R.string.leaderboard_highscores, LeaderboardVariant.TIME_SPAN_ALL_TIME, LeaderboardVariant.COLLECTION_PUBLIC).setResultCallback(
new ResultCallback<Leaderboards.LoadPlayerScoreResult>() {
@Override
public void onResult(Leaderboards.LoadPlayerScoreResult arg0) {
LeaderboardScore c = arg0.getScore();
String score = c.getDisplayScore();
GameSurface.HighScore = Integer.parseInt(score);
saver.saveString(HIGHSCORE, score);
}
});
}
}
无论如何这是我目前的主要问题。此方法被调用并且应该 post 高分。但是它什么都不做,然后它不会让我在游戏中再次打开高分。它只是不会加载。我已经检查过,我的 AUTHID 没问题,我的应用程序 ID 匹配,一切似乎都应该正常工作。我不知道怎么了
public void gameover() {
Games.Leaderboards.submitScore(apiClient, getString(R.string.leaderboard_highscores), GameSurface.HighScore);
}
我已经检查了我的 sha1 它匹配,我已经解压了版本检查,sha1 匹配,Auth ID 匹配所有匹配,调试 Auth 仍然存在,我真的不知道出了什么问题,请任何帮助不胜感激我真的很困惑。
总而言之,Google 游戏让我登录。我可以打开高分,玩游戏,获得分数,死亡,没有 post 发生,无法打开高分再也没有了。
您需要将其添加到 Google Play 控制台中的链接应用。 您应该至少有两个链接的应用程序,一个带有调试 sha1 密钥,另一个带有发布 sha1 密钥。 仅在 Google Cloud Platform 中拥有它是不够的。
检查这些步骤:
在 Google 开发者控制台中
- 为此特定版本创建一个 OAuth 2.0 客户端 ID,您将需要包名称及其特定的 SH1 密钥。
- 如果您将 API 密钥限制为 Android 个应用程序,则相同的 SH1 密钥和程序包名称应该列在 API 密钥中。
在 Google Play 管理中心
- Select 游戏服务部分中的游戏,然后单击关联应用程序 菜单。
- 单击关联另一个应用程序和select Android.
- 填写表格,您必须在程序包名称字段中select申请。
- 如果是 Play 商店版本,您需要检查新玩家优先
- 单击保存按钮。
就这些了。