【问题标题】:Facebook Android SDK for Unity: Facebook object is not yet loaded. Did you call FB.Init()?适用于 Unity 的 Facebook Android SDK:尚未加载 Facebook 对象。您是否调用了 FB.Init()?
【发布时间】:2021-04-09 15:15:27
【问题描述】:

使用 Facebook 的 Unity 插件 (v5.0.3) 开发适用于 Android 的 Unity 游戏。 一段时间以来,我们的大多数用户都可以正常使用 Facebook 登录。 尽管最近我们收到了来自 Crittercism 的以下崩溃报告。 想知道是否有其他人经历过这种情况并有一些提示?

非常确定我们在 C Sharp 代码中正确调用了 FB.Init() - 已经使用 Android 监控工具跟踪了整个流程以查看日志。

与此同时,我们添加了更多日志记录以尝试获取更多信息。

谢谢!

Stack Trace
_________________________________
0   java.lang.Exception: NullReferenceException: Facebook object is not yet loaded.  Did you call FB.Init()?
1       at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
2       at com.unity3d.player.UnityPlayer.a(Unknown Source)
3       at com.unity3d.player.UnityPlayer$a.run(Unknown Source)
4   Caused by: java.lang.Throwable: FB.get_FacebookImpl ()
5   FB.Login (System.String scope, Facebook.FacebookDelegate callback)
6   Zynga.Casino.Auth.FacebookUser.OnInitComplete ()
7   Zynga.Casino.Auth.FacebookUser.LogIn ()
8   Zynga.Poker.Auth.Unity.FacebookLogin.LogInFacebookUser ()
9   Zynga.Poker.Auth.Unity.FacebookLogin.OnPress (Boolean isDown)
10  UnityEngine.GameObject:SendMessage(String, Object, SendMessageOptions)
11  UICamera:Notify(GameObject, String, Object)
12  UICamera:ProcessTouch(Boolean, Boolean)
13  UICamera:ProcessTouches()
14  UICamera:Update()
15  
16      ... 3 more
17  java.lang.Throwable: FB.get_FacebookImpl () 
18  FB.Login (System.String scope, Facebook.FacebookDelegate callback)
19  Zynga.Casino.Auth.FacebookUser.OnInitComplete ()
20  Zynga.Casino.Auth.FacebookUser.LogIn ()
21  Zynga.Poker.Auth.Unity.FacebookLogin.LogInFacebookUser ()
22  Zynga.Poker.Auth.Unity.FacebookLogin.OnPress (Boolean isDown)
23  UnityEngine.GameObject:SendMessage(String, Object, SendMessageOptions)
24  UICamera:Notify(GameObject, String, Object)
25  UICamera:ProcessTouch(Boolean, Boolean)
26  UICamera:ProcessTouches()
27  UICamera:Update()
28  
29      at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
30      at com.unity3d.player.UnityPlayer.a(Unknown Source)
31      at com.unity3d.player.UnityPlayer$a.run(Unknown Source)

【问题讨论】:

    标签: facebook-unity-sdk


    【解决方案1】:

    我知道我已经晚了 7 年,但希望这对某人有所帮助

    我在我们的应用中遇到了类似的问题。我们使用的是处理 Facebook 初始化的内部 SDK。我通过在加载新场景之前明确等待 FB 初始化在协程中完成来解决此问题。

    FB.Init() 调用是异步的。我的假设是,如果在初始化完成之前有场景变化,它仍然是未初始化的。由于我们的内部 SDK,我无法修改 onInitComplete 回调,所以这是我能做的最好的 hack 修复。

    IEnumerator LoadMenuSceneRoutine()
    {
        while (!FB.IsInitialized)
        {
            yield return null;
        }
        LoadMenuScene();
    }
    

    【讨论】:

      猜你喜欢
      • 2022-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-28
      相关资源
      最近更新 更多