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