2013-02-23 4 views
0

Я настроил кнопку для вызова следующего метода:COMException, когда в приложении покупки

private async void buyTimeUP() 
{ 
    await CurrentApp.RequestProductPurchaseAsync("MyItem", false); 
    DoFullFillment(); 
} 

, когда я покупаю/загрузить этот предмет, все в порядке, и следующий код работает просто отлично:

public void DoFullFillment() 
{ 
    var productLicenses = CurrentApp.LicenseInformation.ProductLicenses; 
    checkTransaction(productLicenses["MyItem"]); 
} 

private void checkTransaction(ProductLicense lic) 
{ 
    if (lic.IsConsumable && lic.IsActive) 
    { 
     Debug.WriteLine("License bought"); 
     CurrentApp.ReportProductFulfillment(lic.ProductId); 
     } 
} 

Но если пользователь возвращается из диалогового окна в приложении с задней кнопкой, или если он отменит сделку, то код происходит сбой в

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 
    at MyApp.Shop.<buyTimeUP>d__0.MoveNext() 

Как я могу избавиться от этой ошибки?

ответ

0

исправить эту надстройку TRY/поймать вокруг метода RequestProductPurchaseAsync вызова ...

try 
{ 
    receipt = await CurrentApp.RequestProductPurchaseAsync("MyItem", false); 
} 
catch (Exception){} 
Смежные вопросы