Google 针对 Unity 问题的 Play 游戏服务插件不让我选择与 Gamesparks 集成的帐户
Google Play Games Service Plugin For Unity Issue Not Let Me Choose The Account Intergrating With Gamesparks
我遇到这个问题已经 3 天了。我想不通我犯了什么错误。
我也实现了与 gamesparks 统一的 G GPGS 插件。登录成功。但是这里有些奇怪的是 GPGS 不让我选择 GPGS 帐户,即使我有 4 个帐户。
据我所知,当使用 GPGS 登录时,第一次登录将尝试让我们选择使用哪个帐户登录。
但在我的问题上,无论我做什么,在 playstore 切换帐户,在 google 玩游戏切换帐户。首次登录总是使用同一个账号登录
示例:
我在 Playstore 有 4 个帐户。
- A@gmail.com
- B@gmail.com
- C@gmail.com
- D@gmail.com
当我尝试使用 GPGS 登录时,第一次登录总是选择 A@gmail.com 登录。当我尝试卸载游戏然后尝试登录时。再次始终选择 A@gmail.com 登录。我不知道这有什么问题。我再次在 Playstore 切换帐户,但我仍然得到相同的 A@gmail.com 登录。一开始没有弹出让我选择我要选择的帐户。
下面是我的代码:
public void GooglePlusStart()
{
//Start the Google Plus Overlay Login
Social.Active.localUser.Authenticate((bool success) => {
if(success) {
log.text = "SUCCESS AUTHENTICATED";
GooglePlayAuthentication();
} else{
log.text = "FAILED AUTHENTICATED";
}
//Do something depending on the success achieved
});
}
public void GooglePlayAuthentication() {
if(PlayGamesPlatform.Instance.IsAuthenticated()) {
PlayGamesPlatform.Instance.GetServerAuthCode ((status, code) => {
string displayName = PlayGamesPlatform.Instance.GetUserDisplayName();
string email = PlayGamesPlatform.Instance.GetUserEmail();
new GooglePlayConnectRequest ()
.SetCode (code)
//.SetAccessToken (PlayGamesPlatform.Instance.GetAccessToken ())
.SetDoNotLinkToCurrentPlayer (false)
.SetSwitchIfPossible(true)
.SetRedirectUri ("http://www.gamesparks.com/oauth2callback")
.SetDisplayName(displayName)
.Send ((googleplayAuthResponse) => {
if (!googleplayAuthResponse.HasErrors) {
Debug.Log (googleplayAuthResponse.DisplayName + " Logged In !");
log.text = "SUCCESSSSS EMAIL : " + email + " ====== Status : " + status + " ==== Code : " + code + " ====== " + "AccessToken : " + PlayGamesPlatform.Instance.GetAccessToken () + " ==== " + googleplayAuthResponse.DisplayName + " : " + googleplayAuthResponse.UserId + " : " + "Logged In! \n " + googleplayAuthResponse.JSONString;
} else {
Debug.Log ("Failed To Login");
log.text = "ERRRRORRRR EMAIL : " + email + " ====== Status : " + status + " ==== Code : " + code + " ====== " + "AccessToken : " + PlayGamesPlatform.Instance.GetAccessToken () + " ==== " + googleplayAuthResponse.JSONString;
}
});
});
} else {
log.text = "Google Play Login Failed";
}
}
如果像这种情况,我当然不能将我保存的游戏转移到另一台设备上。
到目前为止我犯了什么错误?
如有任何帮助,我们将不胜感激。
谢谢
丹尼斯
找到解决方案。
见下面的截图:
当我勾选 "Enable Google Plus API Access" 时,它起作用了。
我遇到这个问题已经 3 天了。我想不通我犯了什么错误。
我也实现了与 gamesparks 统一的 G GPGS 插件。登录成功。但是这里有些奇怪的是 GPGS 不让我选择 GPGS 帐户,即使我有 4 个帐户。
据我所知,当使用 GPGS 登录时,第一次登录将尝试让我们选择使用哪个帐户登录。
但在我的问题上,无论我做什么,在 playstore 切换帐户,在 google 玩游戏切换帐户。首次登录总是使用同一个账号登录
示例:
我在 Playstore 有 4 个帐户。
- A@gmail.com
- B@gmail.com
- C@gmail.com
- D@gmail.com
当我尝试使用 GPGS 登录时,第一次登录总是选择 A@gmail.com 登录。当我尝试卸载游戏然后尝试登录时。再次始终选择 A@gmail.com 登录。我不知道这有什么问题。我再次在 Playstore 切换帐户,但我仍然得到相同的 A@gmail.com 登录。一开始没有弹出让我选择我要选择的帐户。
下面是我的代码:
public void GooglePlusStart()
{
//Start the Google Plus Overlay Login
Social.Active.localUser.Authenticate((bool success) => {
if(success) {
log.text = "SUCCESS AUTHENTICATED";
GooglePlayAuthentication();
} else{
log.text = "FAILED AUTHENTICATED";
}
//Do something depending on the success achieved
});
}
public void GooglePlayAuthentication() {
if(PlayGamesPlatform.Instance.IsAuthenticated()) {
PlayGamesPlatform.Instance.GetServerAuthCode ((status, code) => {
string displayName = PlayGamesPlatform.Instance.GetUserDisplayName();
string email = PlayGamesPlatform.Instance.GetUserEmail();
new GooglePlayConnectRequest ()
.SetCode (code)
//.SetAccessToken (PlayGamesPlatform.Instance.GetAccessToken ())
.SetDoNotLinkToCurrentPlayer (false)
.SetSwitchIfPossible(true)
.SetRedirectUri ("http://www.gamesparks.com/oauth2callback")
.SetDisplayName(displayName)
.Send ((googleplayAuthResponse) => {
if (!googleplayAuthResponse.HasErrors) {
Debug.Log (googleplayAuthResponse.DisplayName + " Logged In !");
log.text = "SUCCESSSSS EMAIL : " + email + " ====== Status : " + status + " ==== Code : " + code + " ====== " + "AccessToken : " + PlayGamesPlatform.Instance.GetAccessToken () + " ==== " + googleplayAuthResponse.DisplayName + " : " + googleplayAuthResponse.UserId + " : " + "Logged In! \n " + googleplayAuthResponse.JSONString;
} else {
Debug.Log ("Failed To Login");
log.text = "ERRRRORRRR EMAIL : " + email + " ====== Status : " + status + " ==== Code : " + code + " ====== " + "AccessToken : " + PlayGamesPlatform.Instance.GetAccessToken () + " ==== " + googleplayAuthResponse.JSONString;
}
});
});
} else {
log.text = "Google Play Login Failed";
}
}
如果像这种情况,我当然不能将我保存的游戏转移到另一台设备上。
到目前为止我犯了什么错误?
如有任何帮助,我们将不胜感激。
谢谢
丹尼斯
找到解决方案。
见下面的截图:
当我勾选 "Enable Google Plus API Access" 时,它起作用了。