我正在使用Unity。
我试图检测播放器取消自动Google Play游戏登录的时间,因此我可以在以后玩游戏时禁用自动登录尝试。
我需要这样做才能符合质量检查表,如下所述:https://developers.google.com/games/services/checklist#1_sign-in
但是,我无法找到确定Social.localUser.Authenticate结果的方法。我只能获得成功的真假。
我需要查看生成的GP_ConnectionResultCode。
这是我的验证过程代码,在游戏开始时调用。问题是" resultCode"永远不会被设置,所以它总是返回默认值" SUCCESS"即使代码贯穿故障逻辑。
public static GP_ConnectionResultCode resultCode;
public void SignIn() {
#if UNITY_ANDROID
Social.localUser.Authenticate ((bool success) => {
if (success) {
Debug.Log("Google Play Games sign-in success.");
uScriptCustomEvent.BroadcastCustomEvent("SocialSignedIn", true, gameObject);
PlayerPrefs.SetInt("SocialAutoSignIn", 1);
}
else {
Debug.Log ("Result code: " + resultCode);
if (resultCode == GP_ConnectionResultCode.CANCELED) {
Debug.Log("Google Play Games sign-in cancelled.");
uScriptCustomEvent.BroadcastCustomEvent("SocialSignedIn", false, gameObject);
PlayerPrefs.SetInt("SocialAutoSignIn", 0);
}
else {
Debug.Log("Google Play Games sign-in failed.");
uScriptCustomEvent.BroadcastCustomEvent("SocialSignedIn", false, gameObject);
PlayerPrefs.SetInt("SocialAutoSignIn", 1);
}
}
});
#endif
}
有什么想法吗?我已经蠢蠢欲动了,但找不到其他人有同样的问题。
我找到了这个:http://answers.unity3d.com/question...ay-games-popup-if-user-denies.html?sort=votes 但看起来它会假设登录被取消,即使它因任何其他原因失败了。