我最近在我的游戏中添加了 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}
除了Required API: API Required Scopes: 之外,我在文档中找不到任何关于获取其他玩家个人资料图像的权限或要求SCOPE_GAMES
。而且我都在我的 GoogleApiClient 中启用了。
LoadPlayer() 上的 Google 文档
如果您有 ID,是否有人知道获取 google 用户个人资料图片的其他方法?
有可能还是这些图片不公开?(但谷歌的内置排行榜显示他们......)
提前致谢!