如何检查玩家是否在unity3d中退出google play服务

时间:2014-04-05 17:17:03

标签: google-play-games

如何统一检查玩家是否在Google Play服务中从排行榜手动注销。我正在使用GPG插件,我的平台是在android

1 个答案:

答案 0 :(得分:1)

这有点过时了,但我只是在研究这个问题并且认为我会分享我发现的东西。

当您从排行榜(或成就页面)退出时,GPG插件会显示如下错误:

** [Play Games Plugin DLL]错误:身份验证已丢失!

导致PlayGamesPlatform.Instance.IsAuthenticated()返回false。

找到catch的一种方法就是只是监听显示消息的脚本。他们的日志功能如下。只需查看msg arg并切换用于跟踪登录状态的变量。

- GooglePlayGames > OurUtils > Logger.cs
     ...
        public static void e(string msg) {
            Debug.LogWarning("*** " + LOG_PREF + " ERROR: " + msg);
            if (msg == "Authentication has been lost!") {
                // yourScript.isLoggedIn = false;
            }
        }
     ...

或者,当用户尝试访问其中一个GPG服务(排行榜,成就等)时,您可以检查PlayGamesPlatform.Instance.IsAuthenticated()的值。如果为false,则表示用户未登录,应提示您登录而不是解雇该服务。