Facebook的SDK团结在Android上 - 故障有关从回调的FB.login(Faceboo

2019-09-26 08:08发布

我有关于登录了Facebook,团结-SDK Android设备上的一些问题。 当我登录并获得回调,他们返回此

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})

Answer 1:

这些问题通常是由两件事情:

Keyhash设置

您可以设置logcat的过滤与日志标签“fb4a”的消息,你会看到潜在的Facebook Android SDK中引发异常说你keyhash不匹配任何存储keyhashes。

你可以只复制keyhash并将其添加到Facebook开发人员仪表板。

其他插件

我们应该发挥好与其他插件SDK的新V5.0.2测试版本。

检查Brian的回答在这个线程如何与Facebook SDK工作,团结和Vuforia为Android?



Answer 2:

该SDK的最新版本修复了这一点,可在这里下载: https://developers.facebook.com/docs/unity/downloads/



Answer 3:

我从这个决心在尝试下载新的OpenSSL

http://gnuwin32.sourceforge.net/packages/openssl.htm

并更改新的哈希键。



Answer 4:

有同样的问题,我导出测试场景是,不与安装Facebook应用程序的工作。

进出口使用SDK V4.2.4。



Answer 5:

尝试升级你的OpenSSL和再生keyhash,我被困在这个问题上几天尝试了一遍又一遍的是来到我的脑海里......直到我读别人这样做,所以我想和魔术的一切! 所有的测试项目,我试着与正在做的就好了FB SDK工作;)

我用从一个这个页面 ,如果任何人怀疑。

这样的会,如果误差场没有告诉什么是错误都可以避免浪费时间......



Answer 6:

关于发布密钥库什么,我签我使用Unity应用程序,我得到的是统一创建密钥库的keyhash,但同样的错误,登录显示出来,但is_logged_in:假的



Answer 7:

我的问题现在已经解决了。 这个问题是关于项目多插件。 现在,(我认为),Facebook的SDK不能与想要在Android上为他们的主要活动的其他插件使用。 出口Android项目,并重新检查AndroidManifest.xml中,并保持他们正确的事情,它应该有FBUnityActivity为singletask许多插件覆盖他们,让Facebook的在游戏启动不能得到会话。 希望下一个版本的SDK可以用另一个插件使用。 谢谢大家的指教:)



Answer 8:

Facebook的Unity插件为Android不玩其他插件不错,因为它覆盖在MainActivity,所以除非你第一次启动它(从AndroidManifest.xml中),它不会回返回任何数据(登录信息,好友列表)到Unity和你的游戏。

当然,大多数其他插件现在不工作。

我有我自己的插件(纯Java在Eclipse编译)来处理保存,IAP,通知等我推出该插件第一 - 让你必须添加Facebook的“会话”一小段代码到onActivityResult在Facebook的插件工作自己的主要活动类:

@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是一个噩梦。



Answer 9:

@ user2830062重新检查你的keyhash。 当你为得到正确keyhash,你需要得到新的keyhash每一台计算机,并添加到dev的Facebook页面(名单keyhash)



文章来源: Facebook SDK for Unity on Android - Trouble about callback from FB.Login