我已将Android应用程序配置为使用应用内结算模块,如下所述: http://developer.android.com/guide/market/billing/index.html
使用英国开发团队的账户进行测试时工作正常,这些账户中有与之相关的真实信用卡。但是,我的部分开发团队位于中国,由于Google Billing不在中国运营,他们无法测试结算功能。
可以理解的是,团队很难与他人分享个人卡详细信息或个人帐户信息。有人知道这方面的工作吗?在测试中,虚拟卡号可以与帐户相关联吗?
我知道这可以在商家沙箱(http://code.google.com/apis/checkout/developer/Google_Checkout_Basic_HTML_Sandbox.html)中使用,但我似乎无法找到Android计费测试的等价物。
这里有任何帮助/指导/支持。中国团队专注于许多与购买后体验相关的模块,如果我们找不到解决方法,这将会受到严重影响。
谢谢!
答案 0 :(得分:9)
<强>更新强>
Inappbilling library 1.0刚刚发布,以使这更容易。
Kumar Bibek已经回答了上述问题:我仍然在解释:
对启动购买流程中的以下调试选项进行硬编码,以获得所需的输出。
android.test.item_unavailable *
mHelper.launchPurchaseFlow(Activity.this,“android.test.purchased”,1000,mPurchaseFinishedListener,payload);
以上将给出这些屏幕:
单击“购买”。
答案 1 :(得分:5)
使用这些产品ID,您应该在购买屏幕上看到假卡片提示。
参考:
https://developer.android.com/google/play/billing/billing_testing.html#billing-testing-static
答案 2 :(得分:2)
为了关闭这个线程 - 我最终部署的解决方案是由TEK提供的解决方案。我购买了一些预付信用卡并将其附加到测试帐户。它降低了风险,并允许我们的开发人员使用这些帐户。
我应该指出,中国的开发商也不得不通过VPN来推动市场计费对话。
iPhone开发人员/用户根本没有VPN问题。
谢谢, Kaiesh
答案 3 :(得分:1)
正如上面其他研究员所解释的那样,我能够通过在我的活动中启动这种代码安静来测试应用程序
:set -XScopedTypeVariables
import System.IO.Unsafe
import Control.Exception
let pureCatch :: a -> a -> a; pureCatch (value :: x) if_err = unsafePerformIO (catch (evaluate (value)) ((\_ -> (return if_err)) :: (SomeException -> IO x)) )
>pureCatch (head [1]) 2
1
>pureCatch (head []) 2
2
>pureCatch (["value"] !! 0) "error"
"value"
>pureCatch ([] !! 0) "error"
"error"
PS:我已将此库用于实施应用内购买A lightweight implementation of Android In-app Billing Version 3