无法使用 fb-unity-sdk 登录我的应用程序 |OnLoginComplete({ "cancelled" :true}) |接口异常



我正在为我的unity项目使用最新的facebook-sdkforunity(包4.3.6)。每当我尝试登录时,这就是我从LogCat中得到的详细信息。

12-09 22:54:05.911:V/FBUnitySDK(19876):发送到UnityOnLoginComplete({"cancelled":true})

当我试图深入研究logcat时,这些都是我遇到的错误。

12-09 22:53:52.298:E/fb4a(:):VaultDeviceSetup(19890):com.facebook.http.protocol.Api异常:验证访问时出错令牌:会话与当前存储的会话不匹配。这可能是因为用户在会话之后更改了密码创建或Facebook出于安全原因更改了会话。12-09 22:53:52.298:E/fb4a(:):VaultDeviceSetup(19890):在com.facebook.http.procol.ApiResponseChecker.b(ApiRespondeChecker.java:103)12-09 22:53:52.298:E/fb4a(:):VaultDeviceSetup(19890):在com.facebook.http.procol.ApiResponseChecker.a(ApiRespondeChecker.java:136)12-09 22:53:52.298:E/fb4a(:):VaultDeviceSetup(19890):在com.facebook.http.procol.StringResponseHandler.a(StringResponceHandler.java:31)12-09 22:53:52.298:E/fb4a(:):VaultDeviceSetup(19890):在com.facebook.http.procol.ApiResponseHandler.b(ApiRespondeHandler.java:89)

此外,facebook设置无法找到我的debug.keystore,它向我显示了缺少debug.keystore.我已经在.android文件夹中有debug.keystore文件,但它仍然没有检测到它。所以我像这样直接将我的keyhash放入FacebookAndroidUtil.cs文件中。

private static string debugKeyHash="MY_KEY_HASH";

我也在我的facebook应用程序设置中放入了相同的密钥哈希。所以我不确定是什么原因导致了登录问题。无论是密钥哈希问题还是访问令牌问题,如日志中所示。我已经坚持了两天了(

要使用Android登录,您需要确保在Facebook上正确填写"原生Android应用程序"的所有"基本"应用程序设置。您可以在以下位置找到这些设置

http://developers.facebook.com/apps/YOUR_FB_APP/summary

您需要填写的设置可以在unity编辑器中找到(Facebook>编辑设置>Android构建Facebook设置)
如果您的"调试Android密钥哈希"丢失,并且有一条错误消息说"您的Android调试密钥库文件丢失!"!您可以通过在Eclipse中创建和构建空的Android项目来创建新项目即使您确信该文件存在,也可能是因为您的Unity项目不在Windows安装驱动器上

为了解决这个问题,你需要从最初的Facebook插件(我的版本是4.3.4)中修改一些代码。
在线YOUR_UNITY_PROJECT\Assets\Facebook\Editor\android\FacebookAndroidUtil.cs替换

System.Environment.GetEnvironmentVariable("HOMEPATH") + @".androiddebug.keystore" : 

带有

System.Environment.GetEnvironmentVariable("HOMEDRIVE") + System.Environment.GetEnvironmentVariable("HOMEPATH") + @".androiddebug.keystore" : 

还要确保Windows的PATH环境变量包含任何Java安装附带的"keytool"的位置。例如:

C: \Program Files\Java\jre6\bin

如果必须更改环境变量,请确保重新启动Unity。

您现在可以使用"Android Build Facebook Settings"在Facebook上填写"Native Android App"设置。

希望这能有所帮助!

通过替换

System.Environment.GetEnvironmentVariable("HOMEPATH") + @".androiddebug.keystore" :

通过

System.Environment.GetEnvironmentVariable("HOMEDRIVE") + System.Environment.GetEnvironmentVariable("HOMEPATH") + @".androiddebug.keystore" :

让它在Windows 8 中为我工作

最新更新