我在我的一个应用程序中实现了排行榜,但它只显示了我,我的朋友中有多个玩过它,但它们都没有显示在排行榜上。 所有这些都连接到谷歌玩游戏。
帮我找到我做错的事。
我在主要活动中称这一次。 apiClient是静态变量
apiClient = new GoogleApiClient.Builder(this)
.addApi(Games.API)
.addScope(Games.SCOPE_GAMES)
.enableAutoManage(this, new GoogleApiClient.OnConnectionFailedListener() {
@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
Toast.makeText(MainActivity.this, "Failed to connect to google play", Toast.LENGTH_LONG).show();
}
})
.build();
apiClient.connect();
每次使用在完成一个级别后返回到级别选择活动时,都会调用以下代码:
GoogleApiClient.ConnectionCallbacks cb;
cb = new GoogleApiClient.ConnectionCallbacks() {
@Override
public void onConnected(@Nullable Bundle bundle) {
Games.Leaderboards.submitScore(MainActivity.apiClient,
getString(R.string.leaderboard_most_stars),
totalStars);
MainActivity.apiClient.unregisterConnectionCallbacks(cb);
}
@Override
public void onConnectionSuspended(int i) {
}
};
MainActivity.apiClient.registerConnectionCallbacks(cb);
它对我来说非常完美,我在两个帐户上测试过,两者都列在排行榜上。如果这是一个编码错误,那么即使我也不应该在那里。
我检查了排行榜,游戏是在游戏机中发布的,然而,控制台有一个奇怪的警报,说成就没有正确实施,但我从来没有包括任何成就。可能不相关。
答案 0 :(得分:0)
在Google Play Console中,检查您是否确实发布了游戏服务,当您发布游戏本身时,该服务不会自动发布。
如果您处于测试阶段,这很容易发生,因此您的帐户被列为测试人员,但不包含您的朋友,因此您是唯一拥有排行榜访问权限的帐户。