【问题标题】:In-app billing. How to store information that user has paid?应用内结算。如何存储用户已支付的信息?
【发布时间】:2012-08-26 00:43:28
【问题描述】:

有一个类似的主题here

好的。我们可以通过对 Google Play 的 RESTORE_TRANSACTIONS 请求了解用户的购买情况。 但。它写在文档中 " 仅当您的应用程序首次安装在设备上或您的应用程序已从设备中删除并重新安装时,您才应该使用 RESTORE_TRANSACTIONS 请求类型。" 为什么不是每次开始后? 每次应用启动时都可以查询 Google Play,看起来很舒服。

否则

1) 我应该在我的 WEB 服务器上存储有关付款的信息

2) 或者我应该将此信息保存到 sdcard。记录应该是安全的,包括 设备 ID,因此无法在其他设备上复制

所以。哪种方式更好? 谢谢。

【问题讨论】:

    标签: android in-app-purchase in-app-billing google-play


    【解决方案1】:

    我建议:

    3) 使用应用内 Shared-Preferences 类或 SQLite 数据库

    (查看此页面:http://developer.android.com/guide/topics/data/data-storage.html

    加密总是好的,但这样可以说数据附加到您的应用程序,通常不能被其他应用程序访问。

    【讨论】:

    • 为什么不呢。但是共享首选项和数据库可以在有根手机上进行编辑。因此,您必须确保以无法模仿的方式签署有关付款的信息。
    • 这就是为什么我说'加密总是好的'和'通常不能';)但是这样数据就绑定到你的应用程序了。
    • 是的,真的。 Shared-Preferences 看起来不错,如果无法从另一个应用程序读取它或以某种方式破解它。特别是如果关闭设备后数据不会过期。我认为算法很简单。 1) 首先检查 Shared-Preferences 中的数据。 2) 如果未找到,请在 Google Play 上检查购买。我认为 2-5 个数字不需要 SQLite 数据库。谢谢。
    • 请考虑:一切都可能被黑客入侵,并且在有根设备上,您将没有机会隐藏任何内容。因此,请始终注意“儿童安全锁”。题外话:使用 SharedPreferences,您还可以为初始化设置默认值,因此您可以创建一个变量“firstRun = true”,您的应用程序会将其设置为 false,然后只要您的应用程序保持安装,该变量就会保持为 false。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-10
    • 1970-01-01
    • 2016-12-11
    • 2013-01-05
    • 2013-04-23
    • 2010-09-26
    • 1970-01-01
    相关资源
    最近更新 更多