无法使用静态响应进行测试

Cannot Testing with Static Responses

我正在尝试在我的 Android 应用程序中实施 InAppBilling。

我快到了,但还缺一部分。

我已遵循文档 (http://developer.android.com/google/play/billing/billing_integrate.html#Subs) 并复制了 Google 提供的示例应用程序中使用的逻辑。

我以 alpha 模式发布了此应用程序,创建了一个测试帐户和一个集成产品(订阅)。

String payload = "";
mHelper.launchPurchaseFlow(Settings.this, SKU_PREMIUM, IabHelper.ITEM_TYPE_SUBS,null, 1000, mPurchaseFinishedListener, payload);

如果 SKU_PREMIUM 变量是 google 控制台中定义的真实产品 ID,则一切正常。我 windows 出现在我的应用程序中,告诉我购买订阅及其价格。但是,鉴于我没有与我的测试帐户相关联的签证卡,我无法继续。因此,我正在尝试使用静态响应。 但是,如果我将 SKU_PREMIUM 更改为 "android.test.purchased",则会收到一条错误消息 The item you requested is not available for purchase.。 即使我将保留代码更改为 android.test.canceledandroid.test.refunedandroid.test.item_unavailable,结果也是一样的。

我在这里错过了什么? 谢谢!

问题是您不能在订阅测试中使用保留的产品 ID。它们仅适合 "normal" 购买。对于订阅,您可以使用您在 google 播放设置页面中定义的正确订阅 ID。你应该:

  1. 上传 apk 到存储(它可以在 alfa 或 beta 测试中);
  2. 成为应用程序测试员(电子邮件应与开发者电子邮件不同);
  3. 将信用卡关联到您的测试帐户。

如果您有此设置,Google 不会向您收费。请注意,应用内订阅每 24 小时自动续订一次。

据我所知,没有简单的方法来测试 android 应用内结算。您确实必须遵循这些步骤。