最近为我的应用实施了应用内结算,而的所有内容似乎都正常运行。
按照Testing in-app Billing中的说明,使用android.test.purchased
ID来模拟购买。
我说似乎工作的原因是因为购买流程正常,弹出对话框,显示“付款成功”并且能够在购买后查询库存等
但是,我在Google电子钱包商户中心看不到任何订单。我注意到了这一点,因为我想取消订单重新测试购买。
tutorial表示将列出测试购买,您可以手动取消:
取消已完成的测试购买
手动取消购买 - 您可以访问Google电子钱包商户中心,查找 交易,然后取消它。您可以通过查找找到交易 他们的订单号码。
另外,我注意到在设置IabHelper
时,如果我输入Base64编码的公钥或随机字符串无关紧要,IabHelper
总是成功启动。例如,以下工作:
mIabHelper = new IabHelper(this, "this-can-be-any-string");
尽管交易流程看似正常,但考虑到两点:
IabHelper
对随机字符串vs我的公钥无动于衷我想知道我是否做错了什么。
有没有人有任何建议/知道发生了什么?
答案 0 :(得分:1)
使用ID
时,您的开发者控制台上不会列出购买android.test.purchased
android.test.refunded
android.test.cancelled.
这些是静态响应的产品ID,用于在开发的早期阶段仅模拟测试。要通过实时测试购买来测试您的应用,您可能希望执行链接Setting Up for Test Purchases
部分和here
在您尝试真正的测试购买时测试您的公钥相关性。 IABHelper更可能只是进行静态测试而无动于衷。理想情况下,当公钥不匹配时,您应该收到“签名不匹配错误”。