Android接入firebase遇到的坑及解决方案
2020-01-02 本文已影响0人
小鹿啊小鹿
➤ 1、登录firebase账号后,判断token是否失效不起作用,错误代码如下
FirebaseAuth mainAuth = FirebaseAuth.getInstance(CommonApplication.getPolycentsApp());
FirebaseUser mUser = mainAuth.getCurrentUser();
mUser.getIdToken(false).addOnCompleteListener(new OnCompleteListener<GetTokenResult>() {
public void onComplete(@NonNull Task<GetTokenResult> task) {
if (task.isSuccessful()) {
String idToken = task.getResult().getToken();
long expressionTime = task.getResult().getExpirationTimestamp();
if (System.currentTimeMillis() > expressionTime * 1000){
//token过期,退出到登录界面
ToastUtils.showShort(SplashActivity.this,getResources().getString(R.string.token_has_out));
signOut();
}else{
//token未过期
}
} else {
// Handle error -> task.getException();
//token验证异常
}
}
});
☞ 1 的修改方法
红框中的代码应该为图2绿框中,firebase用户信息需要在获取token前重新加载
错误示范 正确示范➤2、对firebase Cloud FireStore数据库一次增/删/查/改操作大于500条数据时,操作失败
firebase数据库使用Cloud fireStore时,大量数据库操作支持使用batch,但是batch操作有一个限制,一次batch上传的数据不可以超过500条,不然batch会直接回滚成0条数据,造成数据丢失;
image.png
☞ 2 的解决方案
遍历需要操作的数据,判断是否大于500条,分批上传
简单示例