我正在使用适用于Unity的最新版本的Facebook SDK 3.1.2版。我的问题有点类似于question。不同之处在于我的iOS构建工作正常。我的Android版本没有得到空引用。相反,我的Android构建将不会登录。
当我点击我的登录按钮时,它会弹出对话框,让应用程序获得访问基本内容,公开个人资料和朋友列表的权限。点击确定按钮后,它会返回我的应用程序,但登录失败。我找到了AndroidFacebook类并注意到OnLoginComplete函数有一个字符串消息参数,它应该从中获取用户的id和访问令牌。所以我在那里放了一条调试信息来查看返回的内容。事实证明,虽然我按下确定让应用程序访问Facebook,但它说该过程已被取消。 {“canceled”:true}是返回的Json字符串。我在facebook开发者页面中检查了我的应用程序设置,并且包名称,类名和调试哈希键都与我在Unity Facebook设置中的设置相匹配。我甚至尝试过打开和关闭Sandbox模式。
答案 0 :(得分:3)
听起来你没有正确设置android密钥哈希。在Unity Editor中,单击主菜单栏上的Facebook条目,然后单击“编辑设置”。找到标记为“Debug Android Key Hash”的项目并将值复制到剪贴板。
导航至http://apps.facebook.com并找到您的应用。将您从编辑器中获取的密钥哈希粘贴到应用程序本机android设置的“Key Hashes”部分。这个page展示了您的设置应该如何结束。
答案 1 :(得分:2)
您的主要活动是否扩展了FBUnityPlayerActivity类?
我们遇到了同样的问题,并尝试了相同的修复程序 - 刚才注意到这是编辑器日志中的警告。