最近、Google Play サービスをゲームに追加し、新しいプレーヤーのスコアを Facebook ユーザーとの古いリーダーボードに統合しました。そのため、全員に 1 つの共通のリーダーボードを用意しています。(そのため、Google のビルトイン リーダーボードを使用できません)。
ゲーム内で、プレイヤーのプロフィール写真とスコアを含むリーダーボードを表示します。私の問題は、リーダーボードの 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ユーザーのプロフィール写真を取得する他の方法を知っている人はいますか?
可能ですか、この画像は公開されていませんか? (しかし、Google のビルトイン リーダーボードにはそれらが表示されます...)
前もって感謝します!