问题标签 [android-billing]

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 投票
4 回答
6264 浏览

android - Android Activity 在不应该被销毁时被销毁

我正在使用 Google Play In app Billing 并使用 提交我的请求IabHelper,在后台使用startIntentSenderForResult.

正如预期的那样,调用完成后(Google Play Activity 关闭),结果将在onActivityResult方法中返回给我的 Activity,然后OnIabPurchaseFinishedListener通过IabHelper. 如果在购买过程中发生错误,则会在完成的侦听器中向用户(我的代码)显示一个对话框。在用户完成调用的 Play 商店活动之前,结果似乎已返回到我的应用程序。

详细信息: 在我的应用程序中,我按下启动购买意图的购买按钮,显示 Play 商店并显示错误(项目不可用,它处于非活动状态(故意用于负面测试))。

此时仍显示 Play 商店应用程序(在前台)。在我看来,错误是由于操作返回到调用活动(没有焦点)而导致的,导致附加对话框时出现错误(创建后立即泄漏)。在 Play 商店活动的错误中按“确定”会导致以下结果(为我的应用程序创建了一个新活动并获得焦点)。

解决这个问题让我很困惑,因为我想在发生购买错误时在我的活动中显示一个对话框,允许他们通过电子邮件向我发送详细信息,以便我可以优先帮助客户解决购买错误。我确信我可以做一些 hack 修复,可能会在错误发生并过早返回时保留详细信息,然后在每次恢复活动时检查是否存在持续故障并采取适当的措施;然而,这感觉就像一个令人讨厌的工作。

没有对话框的堆栈跟踪:

触发购买的代码:

MainActivity 代码中的 onResume/onPause/onActivityResult 和 onDestroy:

OnIabPurchaseFinishedListener 通过助手在 onActivityResult 中触发:

清单 XML 中的活动定义

错误日志(完整)显示过早的 Activity 破坏:

0 投票
1 回答
20903 浏览

android - 如何从开发者控制台的产品列表中删除订阅以及它对旧订阅用户的影响?

我想从产品列表中删除现有的订阅产品。

由于在开发人员控制台上没有找到删除订阅的任何选项,我将如何执行?

此外,如果以任何可能的方式允许它,那么当他们在与 Google Play 通信时从他们的应用程序中调用 RESTORE_TRANSACTION 时,它会对购买该订阅的现有用户产生任何影响吗?

0 投票
2 回答
2500 浏览

android - Android 应用内订阅到期检查和测试

我有一个有订阅的 android 应用程序。我想在订阅到期时做一些 ui 更改。

Q1)我如何在代码中处理上述内容?我正在为应用内使用 TrivialDrive 示例应用程序类。我应该在哪里处理这个签入代码?

Q2) 保留关键字不适用于订阅测试。我必须使用实际信用卡来测试订阅吗?我的应用程序未发布,产品已激活且 apk 已签名。

0 投票
2 回答
3002 浏览

android - 通过 Google Play 购买的每台设备订阅

我想为将通过 Google Play 销售的应用设置基于订阅的计费方式。是否可以在不同的设备上向同一用户出售相同的订阅?那么用户尝试使用该应用程序的每台设备都需要有效订阅吗?

我在想我可以将设备 ID 和用户 ID 存储在我自己的服务器上并以这种方式对其进行身份验证,但是用户不能多次购买同一个订阅是否正确?那么,如果用户希望购买多个“许可证”,我是否需要一个基本相同的订阅池?Google Play Billing 可以原生处理这些吗?

谢谢

0 投票
1 回答
44 浏览

android - Android 计费 - 如果不是来自按钮单击,我如何调用 onUpgradeAppButtonClicked() 方法?

我正在为应用创建订阅购买。我最初有这样的事情:

但后来我读到 IABHelper 需要异步设置。从按钮单击调用此方法可能不正确。

但是,如果不是通过单击按钮,它怎么可能被调用呢?

谢谢!

0 投票
1 回答
3677 浏览

android - Android 计费 - 未找到项目

我创建了一个订阅产品,当人们尝试购买它时,他们从我的应用程序点击到应用程序商店,他们收到一个错误“找不到项目”

但是这些项目在我的开发者控制台中显示为实时。

我是这样称呼它的:

这是此方法的 onActivityResult() :

结果是:

和 onIabPurchaseFinished

似乎永远不会被执行。

结果是:

点击购买按钮;启动升级购买流程。SKU:my_sku 和 RC_REQUEST:10001

有谁知道为什么会发生错误?难道这发生在一些旧手机上?

另外,如果有人可以在他们的手机上尝试,那会有所帮助,因为我只有一部手机可以测试:) 这是应用程序的链接:https: //play.google.com/store/apps/details? id=com.problemio&hl=en

并在主屏幕的最底部按钮上进行结算。

编辑:

我知道有时应用内产品需要时间才能真正在 Android 系统中上线,但它说在我的开发控制台中上线 :)

编辑:

在我的 IABHelper.java 我有这个:

然后这个:

0 投票
2 回答
1553 浏览

android - 关于应用内计费初始化时间

这几天我正在将 iab 添加到我的应用程序中,但是在阅读了谷歌的所有文档并进行了一些测试之后,我有一个疑问。我应该什么时候启动服务?现在是应用程序初始化的好时机吗?每次用户想购买产品时我应该初始化系统吗?

你怎么处理这个?

干杯。

0 投票
1 回答
309 浏览

android - 在 app Billing version2 android 中已经拥有这个项目?开发人员错误

在我的应用程序中,我上传了管理项目,如果它已经购买,则显示项目已经拥有该项目,但如果用户删除它,如果已经购买,他们可以再次免费下载。但它给了我错误开发人员错误。

APK 是标志。相同的代码版本。

0 投票
1 回答
76 浏览

android - Android 计费 - 当我使用 SDK 1.6 进行测试时,出现语法错误

我的应用支持 SDK 1.6,所以当我添加 Android 计费时,它开始在此方法上出现语法错误:

哪个在方法中并在方法IabHelper.java内部调用launchPurchaseFlow

这是否意味着我无法在不停止支持 1.6 的情况下实施新的 Android 计费?有没有办法解决这个问题?

谢谢!

0 投票
6 回答
5874 浏览

android - 谷歌应用内购买获取产品列表

我从这里找到以下代码以从 google play store 获取产品列表

有没有办法获取动态产品列表?这里是硬编码的。当我在应用启动后添加新产品时会发生什么?