如何捕获或处理超出配额的Firebase异常以避免应用崩溃?

时间:2019-07-05 12:58:50

标签: android firebase google-cloud-firestore

我有一个来自Firestore的免费计划,每天只读取5万个文档。我的应用程序每个用户获取1000个文档,如果我有50个用户,这将很快达到我的配额。我已经知道要解决此问题,我需要将免费计划转换为付费计划。目前,如果配额超过限制,我需要防止我的应用崩溃。

超过我的配额时,应用程序崩溃

  

com.google.android.gms.tasks.RuntimeExecutionException:   com.google.firebase.firestore.FirebaseFirestoreException:   RESOURCE_EXHAUSTED:已超过配额。

我的问题是如何捕获或处理配额异常以避免应用崩溃?

我尝试过这样

   try {
        db.collection("system_config")
                        .get().addOnCompleteListener(task -> {
                    if (task.getResult() != null)
                        for (QueryDocumentSnapshot snapshots : task.getResult()) {
                            SystemConfigModel model = snapshots.toObject(SystemConfigModel.class);
                            SystemConfigEntity entity1 = new SystemConfigEntity(model.getYoutube_api_key());
                            roomViewModel.insert(entity1);
                            global.setSystemConfigEntity(entity1);
                        }
                }).addOnFailureListener(e -> Toast.makeText(StartUp.this, ""+e.getMessage(), Toast.LENGTH_LONG).show());
}catch(Exception e) {
      Log.d(TAG, e.getMessage());
}

我正在尝试使用try and catch处理或捕获异常,但对我不起作用。我认为尝试捕获并不是防止我的应用崩溃的最佳方法。

0 个答案:

没有答案