6

我在用着:

compile "com.google.firebase:firebase-core:9.0.1"
compile "com.google.firebase:firebase-storage:9.0.1"

这是我在设备离线(没有互联网)时执行的代码:

StorageReference mStorageRef = FirebaseStorage.getInstance().getReferenceFromUrl([MY_URL]);
mStorageRef.child("my_file.json").getBytes(Long.MAX_VALUE)
 .addOnSuccessListener(bla bla bla).addOnFailureListener(more bla bla)

我每秒都会在我的日志中重复收到此消息:

W/ExponenentialBackoff: network unavailable, sleeping.
E/StorageUtil: error getting token java.util.concurrent.ExecutionException: com.google.firebase.FirebaseApiNotAvailableException: firebase-auth is not linked, please fall back to unauthenticated mode.

这是错误还是预期行为?我知道如果我处于离线状态,我将无法获取远程文件,但为什么 firebase 代码会尝试每秒轮询一次?

注意:当我再次上线时,它会执行成功/失败监听器并完成轮询。

4

2 回答 2

7

抱歉日志超载。第一个 ( W/ExponenentialBackoff) 需要减少很多(我们计划在未来提供更好的客户端日志记录),而第二个 ( E/StorageUtil) 可以通过在应用程序的 build.gradle 文件中链接 Firebase 身份验证来防止:

implementation "com.google.firebase:firebase-auth:16.2.0".

于 2016-06-01T00:05:01.133 回答
1

Google Play 服务已更新至9.0.2 Google Play 服务 9.0.2 版现已推出。此版本修复了 Firebase 身份验证的一个已知问题,即FirebaseAuthApi在某些设备上不可用。当这些设备尝试使用身份验证 API 时,会发生FirebaseApiNotAvailableException错误。

于 2016-06-07T06:51:24.540 回答