【问题标题】:Using Database in an IOS Appp在 IOS 应用程序中使用数据库
【发布时间】:2017-05-15 21:27:55
【问题描述】:

这似乎是一个典型的谷歌问题,但在花了一个小时阅读各种东西之后,我比我希望的要困惑得多。

我正在开发一款游戏,我有一堆数据,最好将其存储在数据库中(有关怪物的信息,例如关卡精灵等)。现在我还想在以后进行应用内购买,从我读到的内容来看,firebase 是一种存储应用内购买信息的好方法(哪个用户获得了什么,高分等)。

如果我错了,请纠正我:关于怪物等的所有信息。还应该存储在数据库中,最好是内置应用程序数据库。为此,我计划使用 sqllite 或核心数据。我假设由于 firebase 是基于云的,因此从那里加载数据只是为了开始游戏并不明智,因为用户必须始终连接到它。 (再次,如有错误请更正)

无论如何,我打算使用 sqllite 或核心数据将游戏信息存储在应用程序内,这样任何用户都无法修改它。对于应用程序购买中的高分等数据。我打算使用firebase。

所以我的问题是我是否走在正确的轨道上,或者我所说的一切都是垃圾,还有更好的方法......

非常感谢您的帮助。

【问题讨论】:

    标签: ios sqlite firebase swift3 firebase-realtime-database


    【解决方案1】:

    对于应用内购买,我建议使用这个库:https://github.com/kishikawakatsumi/KeychainAccess 即使用户删除您的应用然后再次下载,数据也不会丢失。在钥匙串访问中存储购买信息很方便,因为用户不需要单击恢复购买按钮来获取他之前购买的东西(如果他在某个时候删除了应用程序)。

    import KeychainAccess
    
    let keychain = Keychain(service: "com.myservice.myapp")
    
    //when a user buys call this:
    self.keychain["hasBoughtAcceess"] = "yes"
    
    //to check if user has bought:
    if(self.keychain["hasBoughtAccess"] == "yes") {
        print("user has bought")
    }
    else {
       print("user has not bought")
    }
    

    【讨论】:

    • 感谢您的回答。我会赞成它,因为它回答了我的部分问题。我可以问你关于firebase的问题,例如,如果我把所有的销售都保存在那里,理论上我也可以向某些用户添加项目(更像是解锁项目)吗?
    • 是的,你可以,但你必须以某种方式识别每个用户,并且用户需要有互联网连接。如果您使用 sqlite,那么您可以将信息存储在用户手机上,无需互联网连接。
    • 再次感谢您忽略了该问题的答案。好吧,我将使用核心数据获取一般信息,并通过 self.keychain 保存购买信息。我只是担心用户可能会以某种方式对其进行修改
    猜你喜欢
    • 1970-01-01
    • 2012-05-23
    • 2011-07-06
    • 2014-10-18
    • 1970-01-01
    • 2015-10-12
    • 1970-01-01
    • 1970-01-01
    • 2016-10-15
    相关资源
    最近更新 更多