问题标签 [android-inapp-purchase]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
150 浏览

android - queryInventoryAsync 上的空指针异常错误

从 In App Purchase 调用以下方法时,我收到空指针异常错误。我在手机上进行了测试,它似乎工作正常。但是,在 ANR 和崩溃中,我看到人们在这一行得到了空指针异常

inv = queryInventory(querySkuDetails, moreItemSkus, moreSubsSkus);

以下是我在应用程序中使用的 IAP 示例代码中的代码。

这是我从 ANR 和崩溃中看到的完整错误

0 投票
0 回答
2447 浏览

android - 应用内购买 - 从服务器检索信息时出错 [DF-AA-20]

当我想在我的应用程序内购买时APP,我得到这个ERROR

图像

我试过的:

  • 阿尔法和贝塔
  • 添加测试人员 + 选择加入
  • 检查 IAP ID
  • 排行榜正在工作,所以其他谷歌 ID 是正确的
  • 重新安装 google play 和服务
  • 我已全面推出(测试版)

没有什么帮助我,我还有什么做错了吗?

谢谢你们的帮助:)

//编辑:顺便说一句,我的应用程序已发布,所以我没有暂停帐户https://play.google.com/store/apps/details?id=com.afterclap.hubenour

在此处输入图像描述

0 投票
1 回答
110 浏览

android - 如何知道android购买数据是否是沙盒(测试与否)?

我们已经在应用程序购买中实现了 android,我们正在将购买信息发送到我们的后端,我的问题是如何知道购买数据是否是沙盒? 在谷歌更新测试环境之前,用于测试的订单 ID 为空,现在谷歌是返回和测试环境的订单 ID,有来自谷歌的文档用于成功响应数据 https://developer.android.com/google/play/billing/ billing_reference.html

但是没有值表明我们正在测试环境

0 投票
1 回答
900 浏览

android - 如何购买和消费个人币?

我有一包用户可以购买的硬币。例如:

  • 50个硬币
  • 200个硬币
  • 500个硬币

如果用户购买50个硬币,用户可以在游戏币中一一消费。

谷歌有没有办法处理库存管理?,例如,在 Google 服务器中保存了一种方式,如果用户有 50 个硬币并花费了 10 个,他的库存中有 40 个硬币。

如果这是不可能的,我将不得不自己管理硬币库存。在本地设备中我不能这样做,因为我希望它们与用户帐户相关联。因此我只能管理我的游戏服务器中的硬币。

我认为自己执行此实现非常危险。例如,用户购买了一个包,我调用我的服务器来增加该用户帐户的硬币数量。我的服务器回答“OK”,因为他添加了硬币。然后在我使用的应用程序中消耗硬币包,以便有证据表明它们已正确添加到您的帐户中。

但是,如果响应中存在游戏服务器连接错误,应用程序不会使用它们并且用户可以再次将它们添加到库存中,这只是问题的一个示例,但有不同的实现方式,我认为一些可能的失败发生。

是否有实施示例或方案来管理具有“游戏服务器”中的库存的用户的硬币?

附加信息:我的服务器是带有 api rest 的 java。

0 投票
0 回答
309 浏览

android - Android 订阅 - 获取可靠的介绍性价格信息

我有一个订阅项目,其中包含 1 个周期的介绍价格。我可以通过getIntroductoryPrice()方法在应用程序中获取此价格。购买完成后,我无法获得在服务器端为订阅支付的确切价格。尤其是:

  • 在应用程序方面,即使用户不符合条件(例如,他正在将订阅从全价更改),我从上面的电话中获得的“介绍价格”信息似乎也是相同的。有没有办法查看用户实际支付的价格(从应用程序或服务器端?)

  • 在服务器端,当我从服务器请求购买收据时,我得到了有关正常价格的信息,没有关于介绍价格的信息,也没有用户实际支付的信息。

有什么方法可以让我获得关于用户实际为包含介绍期的订阅支付了多少费用的可靠信息?

0 投票
1 回答
648 浏览

android - 应用内购买后如何验证 Google 发送的订单 ID 是真还是假

下面我包含了两个 Order Id 的 JSON 格式,一个是真实的,一个是假的。

这是真正的交易

以下是虚假交易

我将如何验证特定订单 ID 是否有效?

0 投票
0 回答
212 浏览

android - 取消测试订阅在 Android 中无法正常工作

我知道 Google 最近对测试订阅的更新比平时更新更快,以帮助测试。例如:1 个月 - 5 分钟。https://android-developers.googleblog.com/2018/01/faster-renewals-for-test-subscriptions.html

我购买了订阅,在一分钟内我取消了它,我等待了 5 到 10 分钟,然后我查询了订阅mBillingClient.queryPurchases("subs"),但我仍然可以在结果中看到取消的项目,购买状态为 0(已购买)。我在 queryPurchases 之前尝试了多次,间隔超过 10-15 分钟,但没有运气。

我不确定为什么即使经过漫长的等待,取消的商品也会显示在购买中。

后来我注意到如果我清除 Playstore 数据和缓存,一切都会暂时起作用。1 小时后,如果我尝试购买它显示的相同产品Error retrieving information from server[RPC:S-7:AEC-500 NWDB-WFVV-ZPAXE]

这就是我们必须测试取消订阅的方式吗?如果我再次购买订阅会出现什么错误?

在此处输入图像描述

0 投票
0 回答
33 浏览

android - 何时在应用购买中从谷歌开发者 API 获取数据

我有管理应用内购买的 WebAPI。

为了检查过期、退款、取消和退款的购买,我计划每天从 Google Developer API 获取。

但我担心即使用户取消它(至少 1 天),这也会给用户资源。

所以我正在计划完成这项任务的最佳策略。

所以我应该继续这个策略还是有人有更好的策略。

(这是一个非常明显的问题,也可以帮助其他人)

0 投票
1 回答
143 浏览

android - 应用内结算 Android 问题 BILLING_RESPONSE_RESULT_DEVELOPER_ERROR

我已将一个 apk 上传到 alpha 通道,但仅具有计费权限。

上传的 apk 没有购买流程代码,但我添加了用于测试 apk 的代码。

两个 apk 都使用相同的凭据签名,并且具有相同的版本名称和版本代码,而且我已经在 Play 控制台上发布了订阅产品。

我能够获取 SKU 详细信息,但在开始购买流程时收到 BILLING_RESPONSE_RESULT_DEVELOPER_ERROR。

是否需要使用相同的 APK(相同的代码)来测试上传到 alpha 通道的内容?下次如果我更改了某些内容,是否需要将其上传到第一个 alpha 通道并使用相同的 apk 测试更新的代码?

0 投票
0 回答
179 浏览

android - 如何使用应用内计费功能调试已发布的构建?

是否可以在发布的 apk 的可调试模式下测试产品订阅?

我已将 apk 更新为 alpha 通道并想测试订阅购买流程,但是当我使用 debuggable 生成已发布版本时:真正的应用内计费 api 生成错误“您请求的项目不可购买。”

如何使用应用内功能调试已发布的构建?