我最近关注了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游戏服务部分,如教程中所述。
- 随着编码的想法,这个显示名称是不是可以作为文本读取? 谢谢,任何帮助将不胜感激。
答案 0 :(得分:0)
取消搜索方!我完全忘记了我使用大写字母的字体类,显然,显示名称可能会出现各种混合情况。感谢您的帮助,上面的代码非常完美无缺。如果我没有弄错的话,显示名称也会同时获得名字和名字之间的空格。