我最近在我的游戏中添加了Google Play服务,并将新玩家的分数与Facebook用户的旧排行榜合并。所以每个人都有一个共同的排行榜。 (这就是为什么我不能使用谷歌的内置排行榜)。
在游戏中,我会显示排行榜,其中包含个人资料图片和玩家得分。
我的问题是在尝试检索排行榜的Google用户个人资料图片时。我找到了示例,但所有这些示例都显示当前的用户个人资料,而不是任何给定的Google ID。
阅读游戏文档我发现Games.Players.loadPlayer()
并实现了它。
我尝试了以下代码,但只适用于某些玩家(我假设玩家在登录帐户的圈子内)
//mGoogleApiClient = Connected GoogleApiClient
//uid = Google User ID (Got from Games.Players.getCurrentPlayerId(mGoogleApiClient())
//mImageView = Destination imageView
Games.Players.loadPlayer(mGoogleApiClient, uid).setResultCallback(new theResultCallback<Players.LoadPlayersResult>() {
@Override
public void onResult(@NonNull Players.LoadPlayersResult loadPlayersResult) {
ImageManager imgMGr = ImageManager.create(getActivity());
if (loadPlayersResult.getStatus().isSuccess()) {
imgMGr.loadImage(mImageView, loadPlayersResult.getPlayers().get(0).getIconImageUri());
}
});
此代码正常运行但仅适用于圈子中的玩家。如果玩家不在圈内,我会得到:
Status{statusCode=STATUS_NETWORK_ERROR_NO_DATA, resolution=null}
我在文档中找不到任何关于获得其他玩家个人资料图片的权限或要求
必需的API:API
必填范围: SCOPE_GAMES
。
我已经在我的GoogleApiClient中启用了。
Google Documentaion on LoadPlayer()
如果您有ID,是否有人知道获取谷歌用户个人资料照片的其他方式?
是否可能或此图片不公开? (但谷歌的内置排行榜向他们展示了......)
提前致谢!