我有一个使用 v2 Facebook Android SDK 的应用程序。我们拥有庞大的活跃用户安装基础,因此保护升级体验非常重要。我已经看到了 如何防止 iOS 上的注销 这里 和 这里 - 但不是 Android ..
要检测用户是否登录,文档说要这样做:
AccessToken.getCurrentAccessToken() == null
...但是将应用程序从 v2 版本升级到 v4 版本后,首次运行时当前访问令牌始终为 null。这可能是因为令牌的存储位置已更改。
即使我设置了
FacebookSdk.setLegacyTokenUpgradeSupported(true);
,升级 APK 后我们仍然会得到 null。
有没有办法升级 facebook android SDK 并维护用户的身份验证令牌,以便他们拥有无缝升级体验?
您需要设置
FacebookSdk.setLegacyTokenUpgradeSupported(true);
并确保您正确使用登录按钮。我们缺少一些与片段相关的代码 - 这破坏了流程。
添加旧代币标志并添加缺失的
.setFragment(this)
后,我们的旧代币就起作用了。
我也遇到了这个问题,但就我而言,我忘记在调用初始化之前设置应用程序 ID。
FacebookSdk.setApplicationId(fbAppId);
FacebookSdk.setLegacyTokenUpgradeSupported(true);
FacebookSdk.sdkInitialize(getApplicationContext());