Firebase Storage vs База данных для игровых данных - PullRequest
0 голосов
/ 20 декабря 2018

У меня разработано несколько простых игр, все с локальным хранилищем.Когда пользователь запускает приложение, я создаю файл local_user.dat в каталоге документов и обновляю его, когда пользователь получает больше валюты, покупает скины и т. Д.

Если пользователь удаляет приложение и устанавливает его позже, онпотеряет весь свой прогресс.Вроде очевидно.Итак, чтобы избежать этого, я хочу хранить данные онлайн.В случае, если он удалит приложение, у меня будет резервная копия на сервере.Когда пользователь переустановит приложение, я буду загружать файл резервной копии вместо того, чтобы начинать с нуля

После небольшого поиска я увидел, что Firebase может справиться с этим для меня.У меня вопрос, какой из этих двух методов более эффективен для меня и почему.

Вот часть моего local_user.dat:

  "song_1_cost" : 100,
  "quote_2_owned" : false,
  "sound_on" : true,
  "song_11_owned" : false,
  "song_3_cost" : 250,
  "skin_2_cost" : 200,
  "song_5_cost" : 100,
  "song_equipped" : 0,
  "skin_4_cost" : 500,
  "song_7_cost" : 250,
  "quote_1_cost" : 100,
  "quote_4_cost" : 200,
  "song_9_cost" : 100,
  "quotes_equipped" : 1,
  "shuffle_enabled" : false,
  "song_12_cost" : 250,
  "tutorial" : true,
  "game_center_enabled" : false,
  "zen_level" : 1, etc

Мой local_user.dat может отличаться отсодержит от 30 до 100 ключей, а его средний размер составляет 1,5 КБ.

Какая из этих двух функций будет более оптимальной для моих игр?

  • Хранение - сохраните мой local_user.dat для хранения базы данных и его постоянной замены на обновленную версию

  • База данных - создайте json с пользовательскими данными и:

    1. обновите весь json
    2. обновить ключи json, которые изменили

1 Ответ

0 голосов
/ 20 декабря 2018

И база данных реального времени, и облачное хранилище могут работать по вашему сценарию.Преимущество хранения его в базе данных состоит в том, что вы можете запрашивать / получать доступ к определенным элементам игровых данных для пользователя, например, только к их значению zen_level.

Если это не требуется для вашего варианта использования (кажется, что это не так), я бы, вероятно, выбрал более дешевый или более простой вариант (исходя из ваших нефункциональных требований).Облачное хранилище определенно дешевле, именно потому, что оно не обеспечивает ту же функциональность, что и база данных.

...