我正在尝试在一个非常基本的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游戏。
答案 0 :(得分:0)
使用URI请求基于Leaderboards for the Web,Scores.submit:
POST https://www.googleapis.com/games/v1/leaderboards/leaderboardId/scores
我没有在你的代码中看到这一部分。
检查此firewall-defense Playgames示例以获取更多代码实现。