HTML5基于网络的Google Play排行榜提交问题

时间:2016-09-15 12:55:50

标签: javascript html5 google-play-games leaderboard

我正在尝试在一个非常基本的JavaScript游戏中实施Google Play排行榜:

我在index.html文件中包含了我认为必要的元标记,登录和脚本:

<meta name="google-signin-client_id" content="xxxxxxxxxxxx-xxxxxxxxxxx.apps.googleusercontent.com" />
<meta name="google-signin-cookiepolicy" content="single_host_origin" />
<meta name="google-signin-callback" content="signinCallback" />
<meta name="google-signin-scope" content="https://www.googleapis.com/auth/games" />

我已添加标准的Google登录按钮:

<div class="g-signin2" data-onsuccess="onSignIn"></div>

我已经加入了谷歌apis:

<script src="https://apis.google.com/js/client.js"></script>
<script src="https://apis.google.com/js/platform.js" async defer></script>

在我的games.js文件中,我已经包含了通过以下方式提交分数的电话:

gapi.client.load('games','v1',function(response) {

  var request2 = gapi.client.games.scores.submit(
    {leaderboardId: "xxxxxxxxxx",
    score: 50}
);
request2.execute(function(response) {
  console.log(response);
  // blah blah blah
});

但是没有任何东西出现在排行榜上。控制台日志会吐出我期待的内容。我已经确认了clientID和leaderboardID。

由于某种原因,分数实际上并未提交(或者如果是,则不会对其进行处理)。任何有经验设置的人可用于某些指针吗?请注意,这不是Chrome应用程序/扩展程序 - 它是托管在Web服务器上的纯JavaScript游戏。

1 个答案:

答案 0 :(得分:0)

使用URI请求基于Leaderboards for the WebScores.submit

POST https://www.googleapis.com/games/v1/leaderboards/leaderboardId/scores

我没有在你的代码中看到这一部分。

检查此firewall-defense Playgames示例以获取更多代码实现。