从 android Facebook SDK v2 升级到 v4 时防止 null accessToken?

Prevent null accessToken while upgrading from the android Facebook SDK v2 to v4?

我有一个使用 v2 Facebook Android SDK 的应用程序。我们拥有庞大的活跃用户安装基础,因此保护升级体验非常重要。我看过 how to prevent the logout on iOS here and here - 但没看过 Android..

要检测用户是否登录,文档说要这样做:

AccessToken.getCurrentAccessToken() == null

...但是在将应用程序从 v2 版本升级到 v4 版本后,第一个 运行 当前访问令牌始终为空。这可能是因为令牌的存储位置已更改。

即使我设置 FacebookSdk.setLegacyTokenUpgradeSupported(true); 我们在升级 APK 后仍然得到 null。

有没有办法升级 facebook android SDK 并维护用户的身份验证令牌,以便他们拥有无缝升级体验?

您需要设置FacebookSdk.setLegacyTokenUpgradeSupported(true);并确保正确使用登录按钮。我们遗漏了一些与片段相关的代码——这破坏了流程。

添加遗留令牌标志并添加缺少的 .setFragment(this) 调用后,我们的遗留令牌有效。

我也有这个问题,但在我的情况下,我忘记在调用初始化之前设置应用程序 ID。

FacebookSdk.setApplicationId(fbAppId);
FacebookSdk.setLegacyTokenUpgradeSupported(true);
FacebookSdk.sdkInitialize(getApplicationContext());