带有额外信息的 Android 应用内购买

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

我问这个问题时期望答案是“不可能的”,因为我已经尝试对此进行研究但没有发现任何结果!不过,我认为我会给社区一个参与权衡的机会。

我有一个可用的应用内计费系统,但我想要的是能够在计费请求中提供一些额外的信息。会显示在我的市场统计数据中的东西。

我的用户可以选择购买几种不同级别的产品(基本、高级和金星之类的东西)。当他们购买产品时,他们会向我提供一个字符串,代表他们想要产品的特定内容(例如,如果产品是关于房屋的,则为门牌号和邮政编码)。

我想要的是能够在我的市场报告中看到这些额外的信息,这样当我看到有人要求退款时,我可以看到他们购买了产品的确切项目。我查看了 DEVELOPER_PAYLOAD,但我认为它不会执行我想要的操作。

如果我不能通过这种方式找到解决方案,那么我最终会执行服务调用并自己存储数据,但我想我会先问问你们!

抱歉,我对我的应用及其返回的产品含糊不清,但我还不想公开我的应用(而且它与问题无关!)。

编辑

现在我已经添加了赏金,我想限制答案。正如我在最初的问题中提到的,我的备份计划将向我的系统发出服务调用,为购买注册谷歌引用和“数据包”。

我最感兴趣的是一种方法,使我的信息最终出现在我的市场报告中。例如,如果您要在应用内购买时提供实体商品,用户将如何记录运输说明等。市场报告中有一席之地,那么肯定有办法添加数据吗?

最佳答案

您当然可以为此使用 DEVELOPER_PAYLOAD。然而,谷歌无论如何都不会处理它,也不会出现在报告中(不确定他们是否存储它)。所以你需要做的是将交易信息(你收到的 JSON 字符串)发送到你自己的服务器,解析它并存储/处理/无论 developerPayload。如果需要,您可以将其与签名验证和交易报告结合起来。需要注意的一件事是大小限制为 512 字节。如果您发送带有较长字符串的请求,整个交易将失败,并且错误消息根本不友好('IAB-DPTL' 或类似的)。

当然,如果您需要更多,您可以简单地构建自己的网络服务并发送您想要的任何数据。如果它包含个人信息等,请确保让人们知道它和/或他们可以将其关闭。

关于带有额外信息的 Android 应用内购买,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11713377/

相关文章:

android - 无法在 FutureBuilder 中滚动 ListView

iphone - 我可以使用应用内购买来租借视频吗?

ios - 他们有什么方法可以识别用户更新应用程序和用户第一次在 iOS 中安装应用程序吗?

iphone - 我如何停止SKPaymentTransaction?

android - Google Play服务和 “Duplicate Provider Authority”

Android 使用 Ruby 验证 IAP 订阅服务器端

android - Play 商店中应用更新的大小

android - 连接到远程数据库...在线数据库

android - 圆形ImageView

android - LibGDX:如何可靠地确定 opengl 上下文是否丢失?