Google Play游戏服务仅显示个人资料名称的第一个字母

时间:2014-07-28 06:56:08

标签: java android google-play-services

我最近关注了Google Play游戏服务教程:https://developers.google.com/games/services/training/signin

我与游戏服务客户端有完整的RealTime Multiplayer连接。我的问题在于使用它:

if(Games.Players.getCurrentPlayer(game.mGoogleClient).getDisplayName().length() >= 4) {
        this.displayName = Games.Players.getCurrentPlayer(game.mGoogleClient).getDisplayName().substring(0, 4);
    }
    else {
        this.displayName = Games.Players.getCurrentPlayer(game.mGoogleClient).getDisplayName();
    }

在我的游戏屏幕类构造函数中,并将上述字符串发送到我的paint()方法,它只显示我的Google Plus(显示)名称的第一个字母(An" A"在屏幕)。

编辑:这是我的Google客户端版本:

this.mGoogleClient = new GoogleApiClient.Builder(this, this, this)
    .addApi(Games.API)
    .addScope(Games.SCOPE_GAMES)
    .setViewForPopups(this.findViewById(R.id.sign_in_button))
    .setGravityForPopups(Gravity.TOP | Gravity.CENTER_HORIZONTAL)
    .addConnectionCallbacks(this)
    .addOnConnectionFailedListener(this)
    .build();

关于可能的解决方案的想法:

- 我可以添加多个范围吗?虽然我已经有.addScope(Plus.SCOPE_PLUS_LOGIN)

,但我可能需要添加.addScope(Games.SCOPE_GAMES)

- 因为我在游戏画面构造函数中保存了名称,是不是在构造函数结束之前等待读取全名?

- 我需要输入某种SHA1键吗?我直接从Google Play商店安装游戏,因此我获得了实际的用户体验,因此我不会意外地检查调试.apk,但我在开发人员控制台上启用了所有必需的API < / p>

- 继续关键的想法,来自Google客户端的数据是否可以以需要特殊授权的方式进行编码?我再次设置了XML权限,打开了所需的API并将游戏添加到开发人员控制台的Google Play游戏服务部分,如教程中所述。

- 随着编码的想法,这个显示名称是不是可以作为文本读取? 谢谢,任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

取消搜索方!我完全忘记了我使用大写字母的字体类,显然,显示名称可能会出现各种混合情况。感谢您的帮助,上面的代码非常完美无缺。如果我没有弄错的话,显示名称也会同时获得名字和名字之间的空格。