Firebase Firestore Android Удаление документов многопользовательской игры - PullRequest
0 голосов
/ 20 сентября 2018

Итак, у меня есть игра, в которой два устройства / пользователи подключены к файлу Firestore Game.В конце игры я загружаю результаты игры обоим пользователям, а затем они переходят к другой игре.Моя проблема сейчас - думать о лучшем способе удаления завершенных игровых объектов.Как только игра завершена, она больше не должна быть в пожарной.Я только что протестировал установку gameDocRef.delete() для обоих пользователей в конце, но иногда один игрок удаляет его слишком быстро, а другой не может загрузить результаты.

Существует ли лучший / автоматизированный способ очистки заполненных документов?Может быть, Firebase Функции или что-то?Любой совет приветствуется :)

1 Ответ

0 голосов
/ 20 сентября 2018

вы можете хранить два значения;например.«подтвержден первый игрок» и «подтвержден второй игрок»,

, чтобы подтвердить, когда оба игрока извлекли результаты игры -

и удалить только те документы, где обаиз них подтвердили

(возможно, даже с помощью сценария очистки Cloud Functions вместо клиента).

a) при просмотре доступных событий , триггера обновлениябудет наиболее подходящим:

providers/cloud.firestore/eventTypes/document.update

с недостатком, что это будет срабатывать довольно часто, потому что это для документа, а не для поля.

b) в качестве альтернативы, можно выполнить пакетную обработкуудаления, инициируемые через HTTP, с помощью cronjob на другом хосте.

здесь будет примером использования App Engine Cron (в качестве альтернативы Linux crontab на GCE).

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