facebook unity sdk 7.0.2-FB.IsLoggedIn在重新打开应用程序时返回false,但仍应登录

facebook unity sdk 7.0.2-FB.IsLoggedIn在重新打开应用程序时返回false,但仍应登录,facebook,unity3d,facebook-unity-sdk,Facebook,Unity3d,Facebook Unity Sdk,在升级到Unity FB SDK的7.X版本之前,FB.IsLoggedIn将在FB.Init之后返回true。现在,它返回false,您每次都必须重新登录 这好像是一个错误 我在Unity 5.1.1p4上,正在为Android构建。我还没试过iOS 复制步骤: 启动应用程序,登录FB 关闭应用程序 再次启动应用程序,您将不会自动登录到FB(FB.IsLoggedIn为false) 预期行为: 如果您以前登录过,FB.IsLoggedIn应为true。这就是它以前的工作方式。在FBUnityI

在升级到Unity FB SDK的7.X版本之前,FB.IsLoggedIn将在FB.Init之后返回true。现在,它返回false,您每次都必须重新登录

这好像是一个错误

我在Unity 5.1.1p4上,正在为Android构建。我还没试过iOS

复制步骤:

  • 启动应用程序,登录FB
  • 关闭应用程序
  • 再次启动应用程序,您将不会自动登录到FB(FB.IsLoggedIn为false)
  • 预期行为:


    如果您以前登录过,FB.IsLoggedIn应为true。这就是它以前的工作方式。

    FBUnityInterface.mm
    中:

  • 添加到-
    (id)init

    [[FBSDKApplicationDelegate sharedInstance] application:[UIApplication sharedApplication] didFinishLaunchingWithOptions:NULL];
    
  • 在-
    (无效)configureAppId中替换:

    [FBUnityUtility sendMessageToUnity:FBUnityMessageName_OnInitComplete userData:@{} requestId:0];
    
    与:

    if ([FBSDKAccessToken currentAccessToken]) {
        FBSDKAccessToken *token = [FBSDKAccessToken currentAccessToken];
        NSInteger expiration = token.expirationDate.timeIntervalSince1970;
        [FBUnityUtility sendMessageToUnity:FBUnityMessageName_OnInitComplete
                                  userData:@{
                                             @"opened" : @"true",
                                             @"access_token" : [FBSDKAccessToken currentAccessToken].tokenString,
                                             @"expiration_timestamp" : [@(expiration) stringValue],
                                             @"user_id" : [FBSDKAccessToken currentAccessToken].userID,
                                             @"permissions" : [token.permissions allObjects],
                                             }
                                 requestId:0];
        return;
    } else {
        [FBUnityUtility sendErrorToUnity:FBUnityMessageName_OnInitComplete errorMessage:@"Unknown login error" requestId:0];
    }
    

  • 我们有同样的问题。这是Facebook的一个缺陷。Init调用的结果似乎根本不包含有关该播放器的任何信息。事实上,根据当前平台的不同,它包含不同类型的无用数据

    Facebook已经承认了这个漏洞,他们说它已经在下一个版本中修复了,这个版本还没有发布。您可以在这里看到错误和确认