我在游戏中实现了Google Play游戏服务。我可以连接它,但当我回到我的游戏时,我无法显示欢迎POPUP ...我怎么能显示它?
我尝试了setViewForPopups和setGravityForPopups,就像他们在文档中所说的那样......
private void startSignInIntent() {
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN)
.requestEmail()
.build();
GoogleSignInClient signInClient = GoogleSignIn.getClient(getActivity(),
gso);
Intent intent = signInClient.getSignInIntent();
startActivityForResult(intent, RC_SIGN_IN);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RC_SIGN_IN) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
if (result.isSuccess()) {
// The signed in account is stored in the result.
GoogleSignInAccount signedInAccount = result.getSignInAccount();
Games.getGamesClient(getContext(), signedInAccount).setViewForPopups(getView());
} else {
String message = result.getStatus().getStatusMessage();
if (message == null || message.isEmpty()) {
message = getString(R.string.signin_other_error);
}
new AlertDialog.Builder(getActivity()).setMessage(message)
.setNeutralButton(android.R.string.ok, null).show();
}
}
}
答案 0 :(得分:2)
为了显示“欢迎回来”弹出窗口,请在登录成功后调用此方法。
ViewGroup vgContent = activity.findViewById(R.id.content);
GamesClient client = Games.getGamesClient(mContext, signedInAccount);
client.setViewForPopups(vgContent);
client.setGravityForPopups(Gravity.TOP | Gravity.CENTER_HORIZONTAL);
欢迎回来对话框将出现在屏幕顶部。 您可以提供上下文或活动。
您需要提供一个视图,以显示弹出窗口。在这里,我将提供活动的内容视图,该视图始终存在。
答案 1 :(得分:1)
欢迎回来:
Games.getGamesClient(this,googleSignInAccount).setGravityForPopups(Gravity.TOP | Gravity.CENTER_HORIZONTAL);
答案 2 :(得分:0)
我实现了静默登录,在decorView上使用了setViewForPopups,欢迎回来只显示应用程序关闭了很长时间(约10小时工作,不确定更少)。弹出窗口每次显示互动登录。