我开发了多个游戏,简单的游戏,所有游戏都有本地存储。当用户启动应用程序时,我在文档目录中创建一个 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 个 key 到 100 个 key ,其平均大小为 1.5 kb。
这 2 个功能中哪一个最适合我的游戏?
存储 - 将我的 local_user.dat 保存到 Firebase 存储并不断用更新版本替换它
数据库 - 使用用户数据创建 json 和:
- 更新整个 json
- 更新已修改的 json 键
最佳答案
实时数据库和云存储都可以适合您的场景。将其存储在数据库中的优点是您可以查询/访问用户游戏数据中的特定元素,例如它们的 zen_level
值。
如果您的用例不需要(似乎不需要),我可能会选择更便宜或更简单的选项(根据您的非功能需求)。云存储肯定更便宜,正是因为它不提供与数据库相同的功能。
关于swift - Firebase 存储与游戏数据数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53867448/