我想为Unity实现Facebook登录。我使用了以下来自facebook SDK的统一示例:https://developers.facebook.com/docs/unity/examples/
在编辑器中,它似乎在工作(这更多的是为了测试目的),正如我从控制台看到的那样,然而,我从Android收到了以下图像:
当我点击“确定”,我收到“用户取消登录”,这是我看到的控制台'ADB‘调试,在实际的应用程序中什么也没有发生。你可以在我提供的Facebook SDK for unity的链接中看到"User cancelled“代码行。
我的问题是,这是FB登录应该是什么样子的?我想它应该打开Facebook登录页面。我哪里错了?
代码:
public void OnClick_PromptFaceBookLogin()
{
List<string> perms = new List<string>() { "public_profile", "email" };
FB.LogInWithReadPermissions(perms, AuthCallback);
}
private void AuthCallback(ILoginResult result)
{
if (FB.IsLoggedIn) //Android Not passing this, while in editor it does pass
{
// AccessToken class will have session details
var aToken = Facebook.Unity.AccessToken.CurrentAccessToken;
// Print current access token's User ID
Debug.Log("userid="+aToken.UserId);
Debug.Log("TokenString=" + aToken.TokenString);
AuthModel.LoginFaceBook(aToken.TokenString);
// Print current access token's granted permissions
foreach (string perm in aToken.Permissions)
{
Debug.Log(perm);
}
}
else
{
Debug.Log("User cancelled login");
}
}
脸书软件开发工具包设置:
发布于 2018-08-28 23:05:55
好的,
问题是Facebook设置(Facebook ->编辑设置)中的Debug Android Key Hash
不正确!
我通过尝试在项目中构建Facebook中的MainMenu.scene
示例发现了这一点。这有助于调试和发现问题,就像我们的例子一样。
注意:不要忘记将LogView.scene
添加到'Scenes in build‘中,因为在这里你可以看到真正的哈希(在MainMenu场景中按下'log’按钮之后)。
然后,转到你的应用程序Facebook开发者页面。https://developers.facebook.com/apps/YOUR_APP_ID](https://developers.facebook.com/apps/YOUR_APP_ID]) 设置-> Basic ->密钥散列(在此处放置正确的散列)
沃拉,它起作用了。
发布于 2019-05-23 09:01:45
我在这里遇到了同样的问题,但事实证明,当我从facebook应用程序设置页面复制APPId时,有一个额外的“空格”字符,因此AppId不会与facebook应用程序设置页面中的相同appId匹配,从而导致问题。
我花了很多时间来解决这些问题。
https://stackoverflow.com/questions/52053156
复制相似问题