【问题标题】:How to implement database updates using In App Billing Android如何使用 In App Billing Android 实现数据库更新
【发布时间】:2013-03-27 13:07:07
【问题描述】:

我正在尝试在我的 android 应用中实现应用计费。在我的应用程序中,我试图销售由 sqlite 支持的数字商品。我希望当用户购买我的应用程序时,一些额外的(比如 100 个)条目被添加到我已经在应用程序中创建的 sqlite 表中。有什么方法可以做到这一点。我是否可以使用所有条目创建整个数据库,包括我要出售的条目,并隐藏付费条目。然后,当用户为这些条目付费时,我会取消隐藏它们。如果我做这样的事情......我的应用程序更容易被黑客入侵吗?这怎么可能实现。谷歌的应用内计费版本 3 文档非常令人困惑。有人可以指导我吗?

【问题讨论】:

    标签: android sqlite in-app-billing


    【解决方案1】:

    我不确定并且对您的问题感到困惑,您有不止 1 个问题,但我在此基础上理解回答您的问题。

    我希望当用户购买我的应用时,有一些额外的(比如 100 个) 条目被添加到我已经在 应用程序。

    有一些 prefenceStorage 变量作为标志来检查 App 是否是第一次安装,如果你是第一次创建 SqliteDatabase

    sqldb = openorCreateDatabase('.... params ....');
    sqldb.executeSQL("create table if not exists <tablename> (field text, field1  integer....)");
    
     //insert record
         sqldb.executeSQL("insert into <tablename> values(....)");
    
    sqldb.close();
    

    循环插入记录以在应用首次安装时添加 100 个条目

    并隐藏付费条目。

    在您的记录表中​​有 ispaid 字段,在付费更新 ispaid 字段的值为 '1' 和记录显示端使用这样的查询

    sqldb.query("select * from <tblname> where ispaid = 0");
    

    【讨论】:

    • 我要问的是......当用户安装我的应用程序的免费版本时,如果我只在我的免费版本中提供所有付费和未付费的数据库条目......这会不会很容易破解?
    • 是的,它很容易破解!也请看这里,stackoverflow.com/questions/2694524/…
    • 如果 sqlite 很容易破解.. 你知道我可以实现它的任何其他方式吗。
    • 我提供的链接有关于这个问题的详细信息,你可以做的就是加密你的 db 文件。
    猜你喜欢
    • 1970-01-01
    • 2014-06-06
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    • 2011-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多