2014-01-20 5 views
2

I used this wrapper для функций магазина, которые нужно добавить в состояние моего Windows Phone 7, чтобы выяснить, не отключил ли пользователь WP8 и не включил ли он его в приложениях, а если нет, просто скажите ему.Ошибка при покупке телефона в Windows Phone

Я использую это так:

 if (Environment.OSVersion.Version.Major >= 8) 
     { 
      _store = StoreLauncher.GetStoreInterface("InAppPurchaseWrapper.Store, InAppPurchaseWrapper, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"); 
     } 

     if (_store != null) 
     { 
      var productListAsync = _store.LoadListingInformationAsync(); 
      productListAsync.Completed = (async, status) => 
       { 
        var listingInformation = async.GetResults(); 
        var removeAdItem = listingInformation.ProductListings[Constants.RemoveAddKey]; 

        PurchaseItem(removeAdItem.ProductId, Result); 
       }; 
     } 
     else 
     { 
      MessageBox.Show(AppResources.remove_ads_notworking); 
     } 

    public void PurchaseItem(string id, Action<bool> result) 
    { 
      var purchaseAsync = _store.RequestProductPurchaseAsync(id, false); 
      purchaseAsync.Completed = (async, status) => 
      { 
       try 
       { 
        if (status == StoreAsyncStatus.Completed) 
        { 
         var licenseInfo = _store.LicenseInformation; 
         if (licenseInfo.ProductLicenses[id].IsActive) 
         { 
          MessageBox.Show(AppResources.remove_ad_success); 
          appSettings.IsAdVisible = false; 
         } 
         else 
         { 
          MessageBox.Show(AppResources.remove_ads_something_goes_wrong); 
         } 
        } 
        else 
        { 
         if (status == StoreAsyncStatus.Error) 
         { 
          var forceException = async.GetResults(); 
         } 
         result(false); 
        } 
       } 
       catch (Exception) 
       { 

        throw; 
       } 
      }; 
     } 

Проблема заключается в том, когда я звоню RequestProductPurchaseAsync тогда я получаю: Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED)). Но он работал. В одно время я могу купить это приложение, и когда я скачал лицензии, я его получил. Но не больше. Я пытался перезапустить эмулятор ОС, но пока ничего не помогает. Кто-нибудь знает, где может быть проблема? Спасибо

Редактировать: Я выясню, что если я сначала запускаю пример приложения с тем же ProductId, и это приложение предназначено для WP8. Тогда все в порядке, и я могу купить приложение. Если тогда я запускаю оригинальное приложение (цель для WP7), то я могу купить и в приложениях. Так где же может быть проблема? Возможно ли иметь рабочий обертку для функций Store для проекта WP7? Должен ли я отправить первое приложение WP8 на тест Beta, а затем использовать его productId для WP7?

ответ

0

WP7 не разрешается использовать покупки в Windows Phone Store в приложениях Вы должны реализовать свою собственную услугу покупки при покупке

Смежные вопросы