我正在使用:
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代码会尝试每秒轮询?
注意:当我再次上线时,它会执行成功/失败监听器并完成轮询。
答案 0 :(得分:7)
抱歉日志超载。第一个(W/ExponenentialBackoff
)需要相当减少(我们将来计划更好的客户端日志记录),而第二个(E/StorageUtil
)可以通过链接Firebase来防止应用程序的build.gradle文件中的身份验证:
implementation "com.google.firebase:firebase-auth:16.2.0"
。
答案 1 :(得分:1)
Google Play服务已更新至 9.0.2 Google Play服务版本9.0.2版现已推出。此版本修复了Firebase身份验证的已知问题,其中 FirebaseAuthApi 在某些设备上不可用。当这些设备尝试使用身份验证API时,会发生 FirebaseApiNotAvailableException 错误。