facebook unity sdk 7.0.2-FB.IsLoggedIn在重新打开应用程序时返回false,但仍应登录
在升级到Unity FB SDK的7.X版本之前,FB.IsLoggedIn将在FB.Init之后返回true。现在,它返回false,您每次都必须重新登录 这好像是一个错误 我在Unity 5.1.1p4上,正在为Android构建。我还没试过iOS 复制步骤: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
如果您以前登录过,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已经承认了这个漏洞,他们说它已经在下一个版本中修复了,这个版本还没有发布。您可以在这里看到错误和确认