Огненная база данных в режиме реального времениIOS

Программируем под IOS
Ответить
Anonymous
 Огненная база данных в режиме реального времени

Сообщение Anonymous »

Я использую базу данных Firebase Realtime в приложении Flutter и прослушиваю обновления с использованием потока OnValue . Вот код, который я использую: < /p>

Код: Выделить всё

_plansSubscription = _plansRef
.orderByChild('userId')
.equalTo(userId)
.onValue
.listen((DatabaseEvent event) {
// Handle data
});
Это работает правильно на android , где слушатель запускается только тогда, когда фактические изменения происходят в данных. Это вызывает ненужную обработку и несовместимое поведение приложений. < /P>
Я использую эту логику внутри поставщика < /strong>, не непосредственно в виджете, и слушатель настроен только один раз во время инициализации провайдера. < /P>
Инициализация. main () Использование:
await firebase.initializeapp ();

файл GoogleService-info.plist правильно добавлен в проект xcode. Требуемые разрешения сети: < /p>
< /li>
< /ol>

Код: Выделить всё

NSAppTransportSecurity

NSAllowsArbitraryLoads


< /code>
Правила Firebase в консоли разрешайте публичный доступ для тестирования: < /p>
{
"rules": {
".read": "true",
".write": "true"
}
}
< /code>
Слушатель не дублируется. Он утилизируется должным образом в поставщике:
Почему прослушивание 

Подробнее здесь: [url]https://stackoverflow.com/questions/79725615/firebase-realtime-database-onvalue-listener-triggers-repeatedly-on-ios-without-d[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»