Android上的Facebook Unity SDK – 安装FB App时login失败

我似乎有这个问题讨论同样的问题: Android上的Facebook的SDK的Unity – 从FB.Logincallback的麻烦

在安装常规Facebook应用程序的Android上,使用Unity SDK调用FB.Login()会提示用户接受应用程序的权限,当应用程序被批准时,将使用FBResult.Text

{"is_logged_in":false,"user_id":"","access_token":""}

FBResult.Error

null

当Facebook应用程序安装使用Webstream,并正常工作,但是我已经尝试了与Unity SDK v4.2.4和v4.2.2。

任何其他的build议,以解决这个问题?

编辑:还应该注意,我已经尝试了这两个不同的设备(Galaxy Note 10.1和Nexus 7)

提前致谢!


2014年的说明。在某些情况下,问题很简单,就是您忘记了developers.facebook上的设置。 布赖恩在这里解释它与图像: http: //answers.unity3d.com/questions/543540/facebook-sdk-v424-android-login-not-working.html混淆它将工作(!)设备没有fb应用程序,如果你完全忘记了设置。 至于实际问题,幸运的是,即使您在Mac上使用Unity, 也有一个解决scheme ,它很简单: http : //answers.unity3d.com/questions/609810/using-facebook-api-with-android-says-login-IS-canc.html

Solutions Collecting From Web of "Android上的Facebook Unity SDK – 安装FB App时login失败"

Ach觉得这么傻,最终设法自己解决,通过部署到一个中间的Google Android项目,我能够使用logcat获得更有用的错误消息:

remote_app_id与存储的ID不匹配

从那里我发现这个主题涉及到标准的Android SDK: Android的Facebook SDK 3.0提供“remote_app_id不匹配存储的ID”login时

最后通过用这个代码片段获得的密钥哈希解决了这个问题

 try { PackageInfo info = getPackageManager().getPackageInfo( "com.facebook.samples.loginhowto", PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures){ MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT)); } } catch (NameNotFoundException e) { } catch (NoSuchAlgorithmException e) { } 

用你自己的软件包名replacecom.facebook.samples.loginhowto当然

来源: https : //stackoverflow.com/a/14421260/2823496

似乎通过命令行或通过Unity获得正确的keyhash取决于安装了正确版本的openssl(并存储在PATH中),但不知道是什么版本。 (尝试了一个链接的答案)所以正面向任何其他人挣扎着这一点。


注意 – 如果您使用Mac进行Unity开发,则几乎不可能做到这一点。 幸运的是,在这种情况下,简单的解决schemehttp://answers.unity3d.com/questions/609810/using-facebook-api-with-android-says-login-is-canc.html

我有一个相同的错误。 我已经删除Facebook应用程序。 我的应用程序工作正常


更多的: https : //stackoverflow.com/a/23446140/294884