Facebook 登录与 Flutter 集成

Facebook Login Integration With Flutter

我正在尝试使用 here 为 android 提供的说明将 Facebook 登录与 Flutter 集成。

我认为这是一个官方插件,我已按照本文档中的所有内容进行操作,但在启动时出现以下错误并且应用程序崩溃。

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.shrishtionline.quikpayagent/com.shrishtionline.quikpayagent.MainActivity}: The SDK has not been initialized, make sure to call FacebookSdk.sdkInitialize() first.
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2724)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2789)
    at android.app.ActivityThread.-wrap12(ActivityThread.java)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1527)
    at android.os.Handler.dispatchMessage(Handler.java:110)
    at android.os.Looper.loop(Looper.java:203)
    at android.app.ActivityThread.main(ActivityThread.java:6251)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1075)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
 Caused by: The SDK has not been initialized, make sure to call FacebookSdk.sdkInitialize() first.
    at com.facebook.internal.Validate.sdkInitialized(Validate.java:143)
    at com.facebook.login.LoginManager.<init>(LoginManager.java:79)
    at com.facebook.login.LoginManager.getInstance(LoginManager.java:92)
    at com.roughike.facebooklogin.facebooklogin.FacebookLoginPlugin$FacebookSignInDelegate.<init>(FacebookLoginPlugin.java:109)
    at com.roughike.facebooklogin.facebooklogin.FacebookLoginPlugin.<init>(FacebookLoginPlugin.java:38)
    at com.roughike.facebooklogin.facebooklogin.FacebookLoginPlugin.registerWith(FacebookLoginPlugin.java:42)
    at io.flutter.plugins.GeneratedPluginRegistrant.registerWith(GeneratedPluginRegistrant.java:23)
    at com.shrishtionline.quikpayagent.MainActivity.onCreate(MainActivity.java:11)
    at android.app.Activity.performCreate(Activity.java:6666)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2677)

我已经为 IOS 和 Android 集成了 google 登录,但我在 facebook 登录中卡住了。

错误日志说要调用 FacebookSdk.sdkInitialize() ,但在 dart 中我无法调用此代码。但是我已经用 static final FacebookLogin facebookSignIn = new FacebookLogin(); 方法初始化了 Facebook SDK。

我浏览了很多,但我无法解决这个问题。

你说的插件是正确的。根据错误日志,我猜你错过了初始化SDK。

我建议您按照 Rohan Taneja 编写的以下教程中的步骤进行操作。

教程:https://medium.com/flutter-community/flutter-facebook-login-77fcd187242

问题已解决。只需要 运行 flutter clean 并重新 运行 项目。