Facebook SDK 3.1.2 for Unity - 在安卓设备上登录出现问题

3
我正在使用Unity的最新版本Facebook SDK 3.1.2。我的问题与这个问题有些相似,但不同之处在于我的iOS构建正常工作,而我的Android构建没有空引用。相反,我的Android构建将无法登录。
当我点击登录按钮时,它会弹出对话框屏幕,要求应用程序访问基本信息、公共资料和好友列表。点击确认按钮后,它会返回到我的应用程序,但登录失败。我找到了AndroidFacebook类,并注意到OnLoginComplete函数具有一个字符串消息参数,其中应该获取用户的ID和访问令牌。所以我在那里放了一个调试消息来查看返回的内容。结果发现,尽管我按下“确认”按钮允许应用程序访问Facebook,但它却说该过程被取消了。返回的是{"cancelled":true} Json字符串。我已经仔细检查了Facebook开发者页面中的应用程序设置,包名称、类名称和调试哈希密钥都与Unity Facebook设置中的匹配。我甚至尝试了沙盒模式开和关。

2
今天发布了一个新的SDK,修复了一系列Android问题:https://developers.facebook.com/docs/unity/downloads/如果您仍然遇到问题,请告诉我。如果您能在GitHub上放置一个示例项目,我很乐意查看。 - aaron
2个回答

3
听起来你的Android密钥散列设置不正确。在Unity编辑器中,点击主菜单栏上的Facebook条目,然后点击“编辑设置”。找到标记为“Debug Android Key Hash”的项目,并将其值复制到剪贴板中。
转到http://apps.facebook.com并找到您的应用程序。将从编辑器中获取的密钥散列粘贴到应用程序本机Android设置的“密钥散列”部分。此页面显示了您的设置最终应如何看起来的图片。

我已经做过了。我甚至运行了keytool,以防设置中显示的密钥无效。结果得到了相同的密钥。不过,关于这个问题,我们还没有为Play商店创建应用程序。因此,我们的包名是虚构的。这可能与此有关吗? - Anthony Table
在Unity中的包名是否与您在Facebook应用设置页面上的包名匹配? - benp
是的,如果它们匹配,那么就无所谓了吧? - Anthony Table

2

您的主活动是否扩展了FBUnityPlayerActivity类?

我们也遇到了同样的问题,并尝试了相同的修复方法 - 现在才注意到这是编辑器日志中的警告。


com.facebook.unity.FBUnityPlayerActivity 是的,是这样的。虽然我没有收到任何警告。嗯。 - Anthony Table
我实际上是以相反的方式来表达 - 我们的代码没有扩展那个类,但我不确定这是否是问题的关键 - 谢谢! - Critical Sass

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接