2016-05-16 7 views
0

Также всплывает пароль учетной записи пользователя ios. Этого не происходит, если вызывается снова, пока приложение все еще открыто, но повторяется, если приложение закрыто и снова открыто.Тестирование iOS: вызов init() при первом запуске приложения три события 2 PURCHASE_CANCELLED

Благодаря

ответ

0

Похоже, у вас есть незавершенные покупки, что вам нужно, чтобы закончить.

Покупки останутся в состоянии ожидания, пока ваше приложение не назовет их завершением. Это должно гарантировать, что ваше приложение обработает и проверит покупку.

Вы должны позвонить InAppBilling.service.finishPurchase, когда у вас есть процессу покупки и либо поставляется продукт или обработал отмены/неуспешный:

https://gist.github.com/marchbold/851359b9e456e1a85d65#file-distriqt-extension-inappbilling-makepurchase-as

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 
} 

http://docs.airnativeextensions.com/inappbilling/docs/com/distriqt/extension/inappbilling/InAppBilling.html#getPendingPurchases()

+0

Будет ли getPendingPurchases() очистить ожидающий список на сервере? –

+0

Нет, это не очистит их, пока вы не назовете finishPurchase на ожидающий результат покупки. – Michael

+0

Делаю это в случае успеха установки, но вызов getProducts, похоже, блокируется действительным идентификатором продукта (нет события) 'var pending: Array = InAppBilling.service.getPendingPurchases(); \t \t \t для каждого (вар покупка: Покупка в находящейся на рассмотрении) { \t InAppBilling.service.finishPurchase (объявление о покупке); } InAppBilling.service.getProducts ([IAP_PRODUCT_ID]); ' –