确定测试GooglePlay购买

时间:2015-11-24 22:04:31

标签: xamarin in-app-purchase google-play in-app-billing google-play-developer-api

我有三种不同的订阅购买,持续时间不同。我已经配置了测试帐户,我可以测试购买。对于那些购买谷歌不收取费用,但它们看起来非常像真实的。购买成功后,应用内结算会向我发送一些有关我的购买的数据,例如packageNameproductIdorderIdpurchaseToken等等。

在我的处理代码中,我需要知道这次购买是否真实。在纯文本中:我真的为此赚钱,还是通过某些测试帐户进行购买而我没有获得任何收益?我需要这种购买会计信息。

所以问题是:如何区分代码中的真实订阅和测试订阅?

感谢。

P.S。我使用Xamarin和C#进行开发。

2 个答案:

答案 0 :(得分:3)

如果您的帐户未添加到Google Play开发者帐户中的许可帐户列表,则可以在alpha / beta版本上进行实际购买。

检查this

  

使用alpha / beta测试组,可以安装真实用户(由您选择)   您的应用来自Google Play并测试您的应用内商品。他们可以做   实际购买导致他们的帐户实际收费,使用   Google Play中用于购买的任何常规付款方式。   请注意,如果您在alpha和beta中包含测试许可帐户   分发组,那些用户只能进行测试   购买。

<强>更新

要知道哪个购买是真实的,哪个是测试,请检查orderId作为响应。不会为测试购买分配orderId。

Issue with Android IAP, no OrderID in Purchase Object

答案 1 :(得分:1)

在最新的v3 Android Publisher API上,只要您具有包名称,SubscriptionId和令牌,就可以获取SubscriptionPurchase对象。 SubscriptionPurchase对象包含一个名为 purchaseType 的可选(空)整数字段。根据Google的说法,设置为0时,这是Test订阅。我可以确认这项工作可行,并且与我返回的数据相匹配。 这是Google文档的报价:

    //     The type of purchase of the subscription. This field is only set if this purchase
    //     was not made using the standard in-app billing flow. Possible values are: 0.
    //     Test (i.e. purchased from a license testing account) 1. Promo (i.e. purchased
    //     using a promo code)