Не можете определить, считается ли это чтением / много чтений / получу ли я платную нагрузку на базу данных? - PullRequest
0 голосов
/ 02 июля 2019

В настоящее время я разрабатываю приложение для iOS с облачным пожарным хранилищем Google в качестве бэкэнда, и я использую несколько слушателей, чтобы узнать, обновляются ли данные, и затем соответствующим образом отправляю их на мое устройство.Я написал эту функцию, которая прослушивает значение, если оно истинно или нет, и в соответствии с этим обновит анимацию в моем приложении.Проблема в том, что я не знаю, правильно ли я написал и не хочу выполнять ненужные операции чтения из моей базы данных, если мне не нужно.

func dingAnimation() {
        let identifier = tempDic![kBOUNDIDENTIFIER] as! String
        if identifier != "" {
            dingListener = reference(.attention).document(identifier).addSnapshotListener({ (snapshot, error) in
                if error != nil {
                    SVProgressHUD.showError(withStatus: error!.localizedDescription)
                    return
                }
                guard let snapshot = snapshot else { return }
                let data = snapshot.data() as! NSDictionary
                for dat in data {
                    let currentId = FUser.currentId() as! String
                    let string = dat.key as! String
                    if string == currentId {
                    } else {
                        let value = dat.value as! Bool
                        self.shouldAnimate = value
                        self.animateImage()
                    }
                }
            })
        }
    }

1 Ответ

0 голосов
/ 02 июля 2019

Это может помочь вам.

Из DOCS Firestore - Понимание биллинга Cloud Firestore

https://firebase.google.com/docs/firestore/pricing

Прослушивание результатов запроса

Cloud Firestore позволяет прослушивать результаты запроса и получать обновления в реальном времени при изменении результатов запроса.

Когда вы прослушиваете результаты запроса, с вас взимается плата за чтение каждый раз, когда документ в наборе результатов добавляется или обновляется. Вы также платите за чтение, когда документ удаляется из результирующего набора, потому что документ изменился. (В отличие от этого, когда документ удаляется, вы не платите за чтение.)

Кроме того, если прослушиватель отключен более чем на 30 минут (например, если пользователь переходит в автономный режим), с вас будет взиматься за чтение, как если бы вы выдавали новый запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...