如何避免 Google Play 游戏服务登录对话框自动提示?

Posted

技术标签:

【中文标题】如何避免 Google Play 游戏服务登录对话框自动提示?【英文标题】:How to avoid Google Play Game Services Login dialog auto-prompt? 【发布时间】:2014-09-10 09:19:28 【问题描述】:

我的游戏活动扩展了 BaseGameActivity,如 Google Play 游戏服务指南中所述。问题是,当我的活动启动时,屏幕上会显示一个登录 Google Play 服务的对话框。我想避免它。我想在屏幕上放一个登录按钮。

¿如何避免登录对话框的自动提示?我在指南中找不到任何内容

https://developers.google.com/games/services/training/signin?hl=es

https://developers.google.com/games/services/checklist?hl=es#improving_the_sign_in_experience_for_games

【问题讨论】:

你的代码是否有 mHelper.setup(listener) 或类似的东西? 【参考方案1】:

建议您导入 BaseGameUtils 库并使用 GameHelper 类,而不是扩展 BaseGameActivity。比如..

public class MainActivity extends Activity 

    private GameHelper mHelper;
    private GameHelperListener listener;

    @Override
    public void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        mHelper = new GameHelper(this, GameHelper.CLIENT_ALL);

        listener = new GameHelper.GameHelperListener() 

            @Override
            public void onSignInSucceeded() 

            

            @Override
            public void onSignInFailed() 

            

        ;
        mHelper.setup(listener);
    

Check out this link. You can control when google services asks to log in by controllign when setup is called

【讨论】:

【参考方案2】:

正如Ogen 在他的回答中提到的,使用BaseGameUtils 非常有用。它确实需要您做一些额外的工作,这可能是值得的,但也可能不值得。

如果你想继续使用BaseGameActivity,那么你可以添加以下内容

mHelper.mConnectOnStart = false;

到您的活动的onCreate() 扩展BaseGameActivity。这将阻止自动登录。

【讨论】:

你的意思是 mHelper.setConnectOnStart(false); 这是一回事,但是使用setConnectOnStart() 访问器可能是一个更好的主意:-)

以上是关于如何避免 Google Play 游戏服务登录对话框自动提示?的主要内容,如果未能解决你的问题,请参考以下文章

实施 Google Play 游戏服务 - 如何让用户登录

Google play 游戏服务再次显示来自 google+ 的登录屏幕

Google Play 游戏服务的邀请对话框未显示任何朋友

如何将 Firebase 帐户关联到 Google Play 游戏帐户

检测用户退出 Google Play 游戏登录

Google Play 游戏服务 - 无法登录游戏中心