如何删除非消耗品并再次购买(在测试 Android 应用程序时)?

2024-02-20

如何测试 Android 应用中的非消耗品? (“noADs”为例) 如果“noAds”已经购买了我所做的一切(重新安装游戏,将其安装在其他设备上),它不会导致任何结果:我不会再次看到购买(它总是自动恢复)。

谷歌表示:“要对同一非消耗性产品进行多次测试购买,您可以使用 Google Play Console 退款和撤销购买。”

是的,它有效。可能是在/adb shell pmclear com.android.vending/之后 但每次都做到真的很难。

那么,你真的每次都这样做吗? 是否没有办法(例如)向应用程序添加作弊:如果激活,设备不会发送购买恢复的请求。或者没有收到服务器答复...或者其他什么? 或者 Google Play 结算会自动执行所有这些操作并阻止所有干扰尝试吗?


我遇到了这个问题并解决如下:

  1. Go to 谷歌游戏控制台 https://play.google.com/apps/publish/.
  2. 在左侧菜单中选择“订单管理”。


  1. 选择测试购买以查看订单详细信息,例如:“测试:noADs”。


  1. 选择“退款”按钮。


  1. 选中“删除权利”框,不要忘记执行此操作!


  1. 选择“退款”按钮即可完成订单退款。

完成,现在您可以再次购买非消耗性测试!


您是否忘记选中“删除权利”框?

如果您忘记选中“删除权利”框,请不要担心,有一个解决方案:消费购买的商品。

添加此临时 JAVA 代码并在您的应用程序中运行它:

public void testConsumePurchase(Purchase purchase) {
    billingClient.consumeAsync(ConsumeParams.newBuilder().setPurchaseToken(purchase.getPurchaseToken()).build(), new ConsumeResponseListener() {
        @Override
        public void onConsumeResponse(@NonNull BillingResult billingResult, @NonNull String s) {
            Log.i("onConsumeResponse", "Consumed!");
        }
    });
}

或者您可以从 Google Play Console 复制“购买令牌”并使用以下方法:



public void testConsumePurchase(String purchaseToken) {
    billingClient.consumeAsync(ConsumeParams.newBuilder().setPurchaseToken(purchaseToken).build(), new ConsumeResponseListener() {
        @Override
        public void onConsumeResponse(@NonNull BillingResult billingResult, @NonNull String s) {
            Log.i("onConsumeResponse", "Consumed!");
        }
    });
}

之后,删除代码。完成,现在您可以再次购买非消耗性测试!

如果您使用 Kotlin,我建议您访问:here https://stackoverflow.com/questions/68839798/how-to-remove-entitlement-after-refund-a-test-order-in-app-purchase-in-play-co.

注意:我使用的是 Google Play Billing Library 4.1.0 版本。

我希望这有用,问候! ????/。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何删除非消耗品并再次购买(在测试 Android 应用程序时)? 的相关文章

随机推荐