我正在尝试将Google Play服务添加到我的Android应用中。当我在Unity编辑器中调用 Social.localUser.Authenticate 时,它向回调函数返回false。但是,当我的手机运行调试版本时,未调用回调函数。而且没有错误消息出来。
这是我的代码。
public void Init()
{
// Initialize Play Games Configuration and Activate it.
PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder()
.EnableSavedGames()
.RequestEmail()
.RequestServerAuthCode(false)
.RequestIdToken()
.Build();
PlayGamesPlatform.InitializeInstance(config);
PlayGamesPlatform.DebugLogEnabled = true;
PlayGamesPlatform.Activate();
Debug.LogFormat("SignInOnClick: Play Games Configuration initialized");
}
public void SignInWithPlayGames()
{
if (Social.localUser.authenticated) {
return;
}
// Sign In and Get a server auth code.
Debug.Log("Start Auth GPGS");
Social.localUser.Authenticate((bool success) =>
{
Debug.Log("The lines below never call :("); // <<<<<<<<<<<<<<<<<<<<<<<<<<<
if (!success) {
Debug.LogError("SignInOnClick: Failed to Sign into Play Games Services.");
return;
}
string authCode = PlayGamesPlatform.Instance.GetServerAuthCode();
Debug.LogFormat("SignInOnClick: Auth code is: {0}", authCode);
if (string.IsNullOrEmpty(authCode))
{
Debug.LogError("SignInOnClick: Signed into Play Games Services but failed to get the server auth code.");
return;
}
// Use Server Auth Code to make a credential
Credential credential = PlayGamesAuthProvider.GetCredential(authCode);
// ......
});
}
我看了一些视频。我不确定我的所有步骤是否正确,因为这些视频讲解了如何使用Google Play服务构建新应用。但是我的项目已经启动了。其他设置(例如API凭据)已经由其他设置完成。
我发现有人说Android的SHA-1客户端ID应该从“应用签名证书”更改为“上传证书”。 Link here.
我还发现使用Web客户端ID而不是Android。 Link here.
我已经尝试了这些修复方法,但似乎对我不起作用。有人对我有同样的问题吗?还是有显示此问题更多详细信息的设置?
答案 0 :(得分:0)
我遇到了同样的问题,并通过禁用缩小功能解决了该问题。
“构建”>“玩家设置”>“发布设置”>“缩小”,这里我将“发布”和“调试”都设置为“无”,并且它已修复。
答案 1 :(得分:0)
在logcat输出中,它应该显示一些错误。 诸如“此应用未正确配置为使用GameServices,因为...”之类的东西