直到2016年6月20日,我才能取消在我的应用程序中完成的测试购买.从同一个测试帐户进行多个应用程序内购买(非消费品),可以轻松开发和测试代码,而不需要太多的麻烦.
2016年6月20日之后,我的商家帐户中没有显示购买,我无法从我的测试帐户购买超过1次.我得到的只是:"你已经拥有这个项目"的消息.
我向google开发人员支持小组记录了一个请求,答案是:
从2016年6月20日开始,我们更改了一次性应用内购买(IAP)的测试购买.以前,测试购买一次性IAP会生成订单ID.从2016年6月20日开始,一次性IAP不会生成正式订单ID(如果有的话),也不会出现在Merchant Center中.此行为已适用于订阅IAP.您可以在Android开发者帮助中心了解有关测试应用内结算的详情:https://developer.android.com/google/play/billing/billing_testing.html#testing-purchases
好吧..所以我去了上面提到的链接,并在那里有一个部分: 取消已完成的测试购买 ,其中说明:
Google Play会为每个用户累积完成的测试购买,但不会将其传递给财务处理.在某些情况下,您可能希望手动取消测试购买以继续测试.为此,请在Play商店中打开应用页面.如果要取消的测试购买是订阅,您还可以使用Purchases.subscriptions API的cancel()方法.重要提示:Purchases.subscriptions API的refund()和revoke()方法不支持测试购买.
所以我去Play商店的应用页面......然后做到了什么?网页没有说明我应该在那里做什么.谁都知道?
它确实说: 你也可以使用Purchases.subscriptions API的cancel()方法.
这表明使用cancel()方法不是唯一的方法.
如何解决这个问题而不在我的应用中添加额外的代码?
我正在学习为我的应用实施应用内结算,以便人们可以在按下捐赠按钮时捐赠$.
允许用户捐赠多次,即购买是消费品.
以下代码来自TrivalDrive示例和来自网络的一些教程:
IabHelper mHelper;
static final String ITEM_SKU = "android.test.purchased";
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_in_app_billing);
buy10Button = (Button) findViewById(R.id.buy10Button);
buy15Button = (Button) findViewById(R.id.buy15Button);
buy20Button = (Button) findViewById(R.id.buy20Button);
String base64EncodedPublicKey = "keykeykey";
mHelper = new IabHelper(this, base64EncodedPublicKey);
mHelper.startSetup(new IabHelper.OnIabSetupFinishedListener()
{
public void onIabSetupFinished(IabResult result)
{
if (!result.isSuccess())
{
Log.d(TAG, "In-app Billing setup failed: " + result);
return;
}
if (mHelper == null)
{
return;
}
Log.d(TAG, "In-app Billing is set up OK");
}
});
}
public …Run Code Online (Sandbox Code Playgroud) 我已经实现了Google Play Inapp购买的API版本3。
我在两个设备上使用相同的Google帐户登录。
在上device #1,我刚刚使用以下商品购买了商品:https : //developer.android.com/google/play/billing/billing_integrate.html#Purchase
当我立即通过以下网址查询购买的商品时(在上device #1):https:// developer .android.com / google / play / billing / billing_integrate.html#QueryPurchases,它返回应用程序内的信息,因此一切正常。
当我在上查询购买清单时device #2,它不会返回我刚刚购买的商品,而是返回一个空清单。
当我尝试购买商品时,device #2它告诉我我已经拥有了。
关于为什么从中购买的任何想法device #1都没有反映出来device #2?
请注意,inapps是Managed products,因此Google应该在具有相同google帐户的不同设备之间进行同步,对吗?