Parse platform 正在同步连接不良的本地状态和远程状态(解析)
目标:1)允许用户在连接不良的情况下玩我的游戏,和2)在解析中存储~可靠的用户状态,以获得客户支持和统计信息 我的方法:我使用本地客户端存储作为主存储(这样就不需要网络连接),我使用Parse作为辅助同步存储,这样我就可以解决客户问题并维护统计数据Parse platform 正在同步连接不良的本地状态和远程状态(解析),parse-platform,sync,race-condition,Parse Platform,Sync,Race Condition,目标:1)允许用户在连接不良的情况下玩我的游戏,和2)在解析中存储~可靠的用户状态,以获得客户支持和统计信息 我的方法:我使用本地客户端存储作为主存储(这样就不需要网络连接),我使用Parse作为辅助同步存储,这样我就可以解决客户问题并维护统计数据 游戏有一系列固定的关卡 每个级别的用户状态都作为SOT本地存储在UserDefaults中(是的,有点难看) 我使用Parse作为客户支持问题和统计数据的二级复制存储 因此,我还将级别状态存储在Parse上(即PFObject=“UserLevel
- 游戏有一系列固定的关卡
- 每个级别的用户状态都作为SOT本地存储在UserDefaults中(是的,有点难看)
- 我使用Parse作为客户支持问题和统计数据的二级复制存储
- 因此,我还将级别状态存储在Parse上(即PFObject=“UserLevel”:userId、level、status、high score、wins、loss等)
- 每个用户每个级别应该只有一个(或零个)PFObject
e.g. A typical 5 minute game session:
==>创建PFObject“UserLevel”:uid=currentUser,level=#,status=UNLOCKED,wins=0,等等
==>PFObject的查询(异步)解析(匹配userId和level):
如果找到一个匹配对象==>++丢失。。。(最终保存)
如果找到大于1个匹配对象==>对象[0]:++丢失。。。(最终保存)(忽略除一个之外的所有内容!)
Else(未找到匹配对象)==>创建新对象。(最后)
==>PFObject的查询(异步)解析(匹配用户ID和级别)
如果找到一个匹配的对象:status=COMPLETED,++wins。。。(最终保存)
如果找到大于1个匹配对象,状态=已完成,++将赢得。。。(最终保存)(忽略除一个之外的所有内容!)
Else(找不到匹配的对象):创建PFObject。(最后)
我假设这是一种非常常见的设计模式,我缺少一些基本的CS基础知识。(我是后端编码的新手。)简单的解决方案,因为有固定数量的级别,是预先创建每个“用户级别”并保存它们,然后在其他任何地方进行更新,而不是创建/更新。我喜欢简单。:-)谢谢