【问题标题】:Restoring consumable purchases恢复消耗品购买
【发布时间】:2013-09-17 06:56:52
【问题描述】:

我使用消耗品购买(用户可能多次购买一件物品,在我的应用中它转换为数字商品)并且需要能够在将来恢复购买。

我认为,这样做的唯一方法是在服务器端保存用户电子邮件,当我需要恢复购买时,我通过 Google Play 服务请求用户授权,向服务器发送电子邮件并恢复所有数据。

是否可以在购买流程后获取用户进行购买的用户电子邮件?

或者,可能有其他恢复消耗品购买的方法?

应用程序中的授权是不可取的,即使它可以解决所有问题!

【问题讨论】:

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


    【解决方案1】:

    购买流程后是否可以获取用户用于购买的用户电子邮件?

    当用户购买应用内商品时,Google 电子钱包会为该交易分配一个唯一且永久的订单号。 Google Play 在购买流程结束时向您提供该订单号,作为 PURCHASE_STATE_CHANGED 意图的 orderId 字段的值。

    在您的应用中,您可以将订单号用作应用内购买交易的通用标识符。购买后,您可以使用订单号作为在对帐报告中跟踪交易和获得客户支持的一种方式。

    更多信息请参见Working With Order Numbers

    我的建议是将用户链接到orderId

    我将猜测您可能有几个后续问题:

    • 如何将用户链接到 orderId?

    可能是一个简单的登录/身份验证。您可以使用他们的 Google 帐户(每个 Android 用户都有一个) - 请参阅 Android Account Manager。这是一个很好的方法,因为您的应用程序不必处理任何密码 - 耶!

    • 我希望同一用户在另一部手机上获取这些购买/用户数据...

    如果没有登录,实际上是不可能的 - 见上文(或唯一标识该用户的内容),它将用户数据从云同步到新/其他设备。

    或者,可能有其他恢复消耗品购买的方法?

    您无法通过 Google IAP 恢复已消费的购买。仔细检查您是否要使用非消耗品购买 :)

    additional source: IAP v3 API documentation

    【讨论】:

    • 在我尝试恢复用户购买但 Pruchase.getOrderId() 为已购买的应用程序返回空字符串...任何建议!注意:我没有在 Play-store 上上传它,而是在测试“恢复”时从本地系统使用它。我需要这个吗,是强制性的吗?
    • @Shubh,我认为在您将版本发布到 Play 商店之前,计费不会正常工作。我必须发布一个“Alpha 版本”才能对此进行全面测试。
    • 目前有developer.android.com/google/play/billing/…虽然不知道怎么用
    猜你喜欢
    • 2016-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多