也会弹出ios用户帐户密码。如果应用程序仍处于打开状态时再次调用,则不会发生此情况,但如果应用程序已关闭并重新打开,则会重复此操作测试iOS:第一次打开应用程序时调用init()触发器2 PURCHASE_CANCELLED事件
谢谢
也会弹出ios用户帐户密码。如果应用程序仍处于打开状态时再次调用,则不会发生此情况,但如果应用程序已关闭并重新打开,则会重复此操作测试iOS:第一次打开应用程序时调用init()触发器2 PURCHASE_CANCELLED事件
谢谢
听起来像你有未完成的购买,你需要完成。
购买将保持未决状态,直到您的应用程序调用完成为止。这是为了确保您的应用程序处理和验证购买。
你应该叫InAppBilling.service.finishPurchase
当你有进程购买,要么提供的产品或办理注销/故障:
private function purchase_cancelledHandler(event:PurchaseEvent):void
{
// This transaction was cancelled so you should notify your user and finish the purchase
trace("purchase cancelled" + event.errorCode);
if (event.data && event.data.length > 0)
InAppBilling.service.finishPurchase(event.data[0]);
}
在启动时可以检索SETUP_SUCCESS
后挂起购买事件:
private function setupSuccessHandler(event:InAppBillingEvent):void
{
var pending:Array = InAppBilling.service.getPendingPurchases();
// Iterate over and handle as required
}
将getPendingPurchases()清除服务器上的挂起列表? –
不,它将不会清除它们,直到您致电完成购买待处理的购买结果。 – Michael
我在设置成功时做了这个,但getProducts调用似乎锁定在有效的产品ID上(没有事件触发) 'var pending:Array = InAppBilling.service.getPendingPurchases(); (购买:购买待定){ \t InAppBilling.service.finishPurchase(purchase); } InAppBilling.service.getProducts([IAP_PRODUCT_ID]);' –