如何从Android Google Play中删除测试IAP购买
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从Android Google Play中删除测试IAP购买相关的知识,希望对你有一定的参考价值。
我设置了一个测试版帐户来测试我正在处理的谷歌应用程序的IAP,我遇到的问题是,一旦我购买了一次性产品(非经常性费用)测试IAP,我就不能“删除它”这样,所以现在,即使我删除应用程序并重新安装,它也会记住购买,这对于用户而言在现实世界中很棒,但在尝试修复错误时却不是很好!
是否有任何方法(缺少大量的gmail帐户进行测试)从帐户中删除购买?
这是一个老问题,但如果有人仍在寻找解决方案,那么请转到:
- Google Play console并打开订单管理选项卡
在那里,您可以退款/取消测试购买。然后使用以下命令清除购买状态:
adb shell pm clear com.android.vending
我知道的唯一方法是在你的应用中强制消费。然后,您可以删除该代码。
我正在使用cc.fovea.cordova.purchase插件来管理我的IAP购买。要将我的测试非消耗品删除,我将注册从非消耗品更改为消耗品。
store.register({
id: this.predatorID,
alias: 'Predator Pack',
type: store.CONSUMABLE //store.NON_CONSUMABLE
});
此外,显然有reserved keywords you could use instead(如果你进入那个)。 - https://developer.android.com/google/play/billing/billing_testing.html
if (inventory.getPurchase(ITEM_SKU) != null ) {
try {
mIabHelper.consumeAsync(premiumPurchase, new IabHelper.OnConsumeFinishedListener() {
@Override
public void onConsumeFinished(Purchase purchase, IabResult result) {
Toast.makeText(MainActivity.this, "Consumed the test purchase successfully", Toast.LENGTH_SHORT).show();
}
});
} catch (IabHelper.IabAsyncInProgressException e) {
e.printStackTrace();
}
}
但是,refund()和revoke()方法不支持测试购买,只剩下consumeAsync()选项。
我有一个类似的问题。幸运的是,我正在使用的应用程序是基于WebView的,因此我可以轻松地注入一个链接或按钮来触发一些javascript来回调应用程序以使用测试订单。由于测试订单的orderId
为空字符串,因此很容易识别它们以消耗它们。一旦消费,该物品可以再次“购买”。删除按钮需要注释掉一行代码但是如果按钮意外地进入最终发布的应用程序,它将不会导致任何问题,因为代码只消耗测试订单 - 也就是说,实际订单不受影响。那个按钮只会令人尴尬而不是灾难。
我正在使用没有与之相关的信用卡的设备。我设置了一些促销代码,并为我的测试订单使用“兑换代码”选项。促销代码不会产生交换钱的风险,我可以使用真实产品完全验证我的应用程序中的IAB功能,而无需借助IAB测试代码。
根据Martin Kool的帖子,Google Wallet中没有任何内容可供我使用。
只是:
Purchase unlockedPurchase = inventory.getPurchase(SKU_UNLOCKED);
// Log unlockedPurchase.getOrderId();
转到您的Google Play面板,订单管理,查找订单ID并退款(如果是您自己的订单,则应说明测试订单)。
Google Play购买内容存储在Google电子钱包中。
签名后,转到左侧的“交易”。可以从那里取消测试购买。
以上是关于如何从Android Google Play中删除测试IAP购买的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Google Play 控制台帐户中删除未发布的 apk
通过 Google Play Developer API 删除 Android 订阅列表