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?