facebook unity sdk 7.0.2 - FB.IsLoggedIn returns false 当您重新打开应用程序但仍应登录时
facebook unity sdk 7.0.2 - FB.IsLoggedIn returns false when you reopen the app but should still be logged in
在升级到 7.X 版本的 Unity FB SDK 之前,FB.IsLoggedIn 在 FB.Init 之后会 return 为真。现在,它是 returning false,您每次都必须重新登录。
这似乎是一个错误。
我正在使用 Unity 5.1.1p4 并为 Android 构建。我还没试过iOS。
复制步骤:
- 启动应用程序,登录FB
- 关闭应用程序
- 重新启动app,不会自动登录FB(FB.IsLoggedIn为false)
预期行为:
如果您以前登录过,FB.IsLoggedIn 应该是正确的。这是以前的工作方式。
在FBUnityInterface.mm
中:
添加到 - (id)init
:
[[FBSDKApplicationDelegate sharedInstance] application:[UIApplication sharedApplication] didFinishLaunchingWithOptions:NULL];
替换为 - (void)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 已确认该错误,他们表示已在尚未发布的下一个版本中修复该错误。您可以在此处查看错误和确认。
https://developers.facebook.com/bugs/1459551294340956/?search_id
在升级到 7.X 版本的 Unity FB SDK 之前,FB.IsLoggedIn 在 FB.Init 之后会 return 为真。现在,它是 returning false,您每次都必须重新登录。
这似乎是一个错误。
我正在使用 Unity 5.1.1p4 并为 Android 构建。我还没试过iOS。
复制步骤:
- 启动应用程序,登录FB
- 关闭应用程序
- 重新启动app,不会自动登录FB(FB.IsLoggedIn为false)
预期行为:
如果您以前登录过,FB.IsLoggedIn 应该是正确的。这是以前的工作方式。
在FBUnityInterface.mm
中:
添加到 -
(id)init
:[[FBSDKApplicationDelegate sharedInstance] application:[UIApplication sharedApplication] didFinishLaunchingWithOptions:NULL];
替换为 -
(void)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 已确认该错误,他们表示已在尚未发布的下一个版本中修复该错误。您可以在此处查看错误和确认。
https://developers.facebook.com/bugs/1459551294340956/?search_id