Android:有时会出现FacebookAuthorizationException

ant*_*ony 17 android facebook

由于有几周我的应用程序有时出现此异常:

Non-fatal Exception: com.facebook.FacebookAuthorizationException: CONNECTION_FAILURE: TigonError(2): TigonLigerErrorDomain(2) AsyncSocketException: connect failed (immediately), type = Socket not open, errno = 101 (Network is unreachable)
       at com.facebook.login.LoginManager.onActivityResult(LoginManager.java:218)
       at com.facebook.login.LoginManager$1.onActivityResult(LoginManager.java:173)
       at com.facebook.internal.CallbackManagerImpl.onActivityResult(CallbackManagerImpl.java:95)
       at com.myapp.util.connect.FacebookConnect.onActivityResult(FacebookConnect.java:338)
Run Code Online (Sandbox Code Playgroud)

Facebook SDK:4.27.0 Android版受影响:4.4.2和7(Crashlytics信息)

你有关于这个例外的想法吗?

非常感谢你

**更新

我在Facebook支持上写了一张票,经过几条消息后,最后一条是:

嗨,安东尼,感谢您提供更多细节.查看应用程序的数据,似乎没有为您的应用程序记录任何失败的API调用.这表示登录尝试在到达我们的服务器之前失败,并确认这确实是由于网络错误.

我同意这不是用户重试登录尝试的理想体验,但对于像这样的网络相关问题,这是最好的方法.我建议提示用户检查他们的设备连接并再次初始化登录流程.

从调试开始,这不太可能是由于与Retrofit的兼容性问题,尽管我不能肯定地排除它.受影响的用户更有可能只是经历了临时连接中断.

我将此标记为已关闭,因为Facebook SDK中似乎没有错误,但是如果您能够获得任何其他信息(例如,在设备上一致地重现错误的方法)有完整的互联网连接,请告诉我,我很乐意帮助再次调查.

Eug*_*ako 1

此异常意味着您的应用程序的用户遇到了互联网连接问题。这是所有开发者在进行网络调用时都应该关心的问题,但对于移动设备来说尤其重要(移动互联网的质量可能会非常低)。不幸的是,网络错误无法完全消除。

解决此类问题的常见方法是重试:要么在应用程序一侧(重试,仅在几次网络错误后才向用户显示错误),要么在用户一侧(建议用户再试一次)。