【问题标题】:How to show the welcome popup on play games services?如何在玩游戏服务上显示欢迎弹窗?
【发布时间】:2018-05-05 08:57:26
【问题描述】:

我在我的游戏中实现了 google play 游戏服务。我可以连接它,但是当我回到我的游戏时,我无法显示欢迎弹出窗口...我该如何显示它?

我尝试了 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();
        }
    }
}

【问题讨论】:

  • 你遇到了什么错误?
  • 我没有错误但我没有弹出窗口...我不知道如何显示欢迎弹出窗口...
  • 你有没有解决过这个问题,遇到同样的问题

标签: android google-play-services google-play-games


【解决方案1】:

欢迎回来:

Games.getGamesClient(this, googleSignInAccount).setGravityForPopups(Gravity.TOP | Gravity.CENTER_HORIZONTAL);

【讨论】:

    【解决方案2】:

    为了显示“欢迎回来”弹窗,请在登录成功时调用此方法。

    ViewGroup vgContent = activity.findViewById(R.id.content);
    
    GamesClient client = Games.getGamesClient(mContext, signedInAccount);
    client.setViewForPopups(vgContent);
    client.setGravityForPopups(Gravity.TOP | Gravity.CENTER_HORIZONTAL);
    

    欢迎回来对话框将出现在屏幕顶部。 您可以提供 Context 或 Activity。

    您需要提供一个视图才能显示弹出窗口。在这里,我给出了活动的内容视图,它始终存在。

    【讨论】:

      【解决方案3】:

      我实现了静默登录,在 decorView 上使用了 setViewForPopups,并且仅当应用程序关闭了很长时间(约 10 小时工作,不确定更少)时才显示欢迎返回。每次弹出窗口显示交互式登录。

      【讨论】:

        猜你喜欢
        • 2013-09-27
        • 2020-04-17
        • 2018-06-17
        • 1970-01-01
        • 2016-08-09
        • 2015-03-01
        • 2021-01-10
        • 1970-01-01
        • 2018-05-12
        相关资源
        最近更新 更多