我在Android设备上登录facebook-unity-sdk时遇到了一些问题。当我登录并获得回调时,他们会返回此
FBResult.Text
{"is_logged_in":false,"user_id":"","access_token":""}
FBResult.Error
null
每次登录完成后,和FB.IsLoggedIn为空
我正在使用最新版本的Facebook SDK(4.2.1)和Unity 4.2
在调试日志
上Send to Unity OnLoginCompleted({"cancelled":true})
答案 0 :(得分:2)
这些问题通常由两件事引起:
您可以将logcat设置为使用日志标记“fb4a”过滤消息,您将看到基础Facebook Android SDK抛出异常,说明您的密钥与任何存储的密钥匹配。
您可以复制该密钥并将其添加到Facebook开发人员信息中心。
我们推出了SDK的新v5.0.2测试版,它可以与其他插件配合使用。
在此帖子How to work with Facebook SDK for Unity and Vuforia for Android?
中查看Brian的答案答案 1 :(得分:1)
最新版本的sdk修复此问题,可在此处下载:https://developers.facebook.com/docs/unity/downloads/
答案 2 :(得分:1)
答案 3 :(得分:0)
有同样的问题,我按原样导出测试场景,并且无法安装facebook app。
我正在使用sdk v4.2.4。
答案 4 :(得分:0)
尝试升级你的openSSL并重新生成keyhash,我在这个问题上坚持了几天,一遍又一遍地尝试着我想到的一切......直到我读到有人这样做,所以我尝试了魔法!我尝试使用FB SDK的所有测试项目都做得很好;)
如果有人想知道,我使用this page中的那个。
如果错误字段确实告诉了什么是错误的话,这样可以避免浪费时间......
答案 5 :(得分:0)
如何发布密钥库,我正在使用Unity签署我的应用程序,并且我从Unity创建的密钥库中获取了keyhash,但是同样的错误,登录显示,但是is_logged_in:false
答案 6 :(得分:0)
我的问题现在已经解决了。这个问题是关于项目的Multi-Plugin。现在(我认为),Facebook SDK不能与其他想要在Android上使用主要活动的插件一起使用。导出android项目并重新检查AndroidManifest.xml并维护它们以获得正确的东西,它应该具有FBUnityActivity for singletask,许多插件会覆盖它们,因此facebook无法在游戏启动时获得会话。希望下一版本此SDK可以与另一个插件一起使用。谢谢大家的建议:)
答案 7 :(得分:0)
适用于Android的Facebook Unity插件与其他插件不相称 覆盖MainActivity,所以除非你先启动它(从AndroidManifest.xml) 它不会将任何数据(登录信息,朋友列表)返回给Unity和您的游戏。
当然,大多数其他插件现在都不起作用。
我有自己的插件(在eclipse中编译的纯java)处理Saving,IAP,通知等,我首先启动该插件 - 要使Facebook插件工作,你必须添加一点点Facebook“会话”代码到你自己的Main Activity类中的onActivityResult:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// Pass on the activity result to the helper for handling
if (!mHelper.handleActivityResult(requestCode, resultCode, data)) {
// not handled, so handle it ourselves (here's where you'd
// perform any handling of activity results not related to in-app
// billing...
// Facebook callback
if (Session.getActiveSession() != null) {
Session.getActiveSession().onActivityResult(this, requestCode,
resultCode, data);
}
super.onActivityResult(requestCode, resultCode, data);
} else {
}
}
你需要FacebookSDK.jar来编译,我和任何人一样惊讶 当它工作;但如果你使用其他第三方插件,这将无济于事 无法访问他们的来源。
为Android编写Unity插件是一场噩梦。
答案 8 :(得分:0)
@ user2830062重新检查你的keyhash。当你得到正确的keyhash时,你需要每台计算机获得新的keyhash并添加到dev facebook页面(list keyhash)