我有三种不同的订阅购买,持续时间不同。我已经配置了测试帐户,我可以测试购买。对于那些购买谷歌不收取费用,但它们看起来非常像真实的。购买成功后,应用内结算会向我发送一些有关我的购买的数据,例如packageName
,productId
,orderId
,purchaseToken
等等。
在我的处理代码中,我需要知道这次购买是否真实。在纯文本中:我真的为此赚钱,还是通过某些测试帐户进行购买而我没有获得任何收益?我需要这种购买会计信息。
所以问题是:如何区分代码中的真实订阅和测试订阅?
感谢。
P.S。我使用Xamarin和C#进行开发。
答案 0 :(得分:3)
如果您的帐户未添加到Google Play开发者帐户中的许可帐户列表,则可以在alpha / beta版本上进行实际购买。
检查this:
使用alpha / beta测试组,可以安装真实用户(由您选择) 您的应用来自Google Play并测试您的应用内商品。他们可以做 实际购买导致他们的帐户实际收费,使用 Google Play中用于购买的任何常规付款方式。 请注意,如果您在alpha和beta中包含测试许可帐户 分发组,那些用户只能进行测试 购买。
<强>更新强>
要知道哪个购买是真实的,哪个是测试,请检查orderId作为响应。不会为测试购买分配orderId。
答案 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)