我正在使用Cordova和这个插件,我目前正在Google Play上测试In-App_购买。
这是插件网址:
使用时效果很好:
function buy(){
// make the purchase
inappbilling.buy(successHandler, errorHandler,"myProduct");
}
但是,它只让我购买产品一次......第一次购买后,如果我再试一次,我会收到错误:
"ERROR: Error purchasing: labResult: Unable to buy item. (response 7:Error)
所以,我现在正在尝试:
function consumePurchase(){
inappbilling.consumePurchase(successHandler, errorHandler, "myProduct");
}
但这也给了我一个错误:
"ERROR: myProduct is not owned so it cannot be consumed"
希望我能得到它,这样我可以多次购买同样的产品吗?
答案 0 :(得分:3)
这有点疯狂,因为看不到有关您产品的详细信息,但您的产品似乎是非消费品。关于消耗品和非消耗品,请参阅here(在副标题非消耗品和消耗品应用内商品中),其中包含以下内容:
非消费品
通常,您不会为应用内商品实现消费 只能在您的申请中购买一次,并提供一个 永久的利益。一旦购买,这些物品将永久存在 与用户的Google帐户相关联。一个例子 非消费类应用程序内产品是高级升级或等级包。
消耗品
相反,您可以为可以制作的项目实现消费 可多次购买。通常,这些项目提供 某些临时效果。例如,用户的游戏中角色 可能会获得生命值或在他们的库存中获得额外的金币。 在您的产品中分配所购商品的优点或效果 应用程序称为配置应用程序内产品。你是 负责控制和跟踪应用内商品的运作方式 提供给用户。
<强>推理强>
为什么您的产品目前似乎不属于消耗品?当您尝试购买产品第二时,它会给您error code 7。此错误代码是
BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED: Failure to purchase since item is already owned
仅适用于非消耗品,根据定义,只能购买一次。
虽然这些非消费品不能一次购买,但也不能按照名称所示消费。这会导致您发出关于无法使用该产品的第二条错误消息。
如何修复
简单:将您想要消耗的物品更改为消耗品而不是非消耗品。如果您无法找到如何操作,请告诉我。我可以告诉你的一切(因为我之前从未读过关于应用内结算的信息)是应该在 Google Play开发者控制台中完成,例如指定的here:
您可以为应用内结算应用指定这些类型的产品 - 托管&gt;应用内商品和订阅。 Google Play会根据每个用户的帐户处理和跟踪您的应用中的应用内&gt;产品和订阅的所有权。