0

アプリ内購入が可能な Windows Phone 8 アプリがあります。ユーザーが「購入」ボタンをクリックすると、次のコードが表示されます。

try {
  ProductListing product = GetProductToBuy();
  MessageBox.Show("Product retrieved.");
  var boughtProduct = await CurrentApp.RequestProductPurchaseAsync(product.ProductId, true);
  MessageBox.Show(product.ProductId + " was purchased.");
} catch (Exception ex)
{
  MessageBox.Show(ex.GetType().FullName + "\n" + ex.Message + "\n" + ex.HResult);
}

このコードを実行すると、InvalidOperationExceptionがスローされます。例外に関連付けられたメッセージは、単に次のように述べています。

このエラー コードに関連付けられたテキストが見つかりませんでした。

HResult 値は -2146233079 です

InvalidOperationException追加情報が表示されないのはなぜですか? エミュレーターではなく、実際のデバイスでアプリを実行しています。私は本当に混乱しています。

ありがとうございました

4

3 に答える 3

0

エミュレーターでアプリを実行します。デバイスが実際の Microsoft アカウントにバインドされているため、アプリがストアにないため、購入しようとしているアイテムを認識できないと推測されます。

アプリ内購入のテストの詳細については、http: //msdn.microsoft.com/en-us/library/windowsphone/develop/jj681689 (v=vs.105).aspx を参照してください。

于 2013-06-19T19:45:58.893 に答える
0

ベータ版アプリケーションのデバイスでアプリを実行しているときにも、同じ問題とエラー メッセージが表示されます。

私がしたことは、新しいベータ版アプリケーションを再送信して新しいアプリ ID を取得し、アプリ内購入を再作成することでした。コードを変更しなくても、すべて正常に動作しました。理由はわかりませんが。

于 2013-12-17T00:29:54.590 に答える
0

以前のすべての購入について ReportProductFulfillment を呼び出しましたか?

Windows Phone のみ。アプリケーションが有料商品をユーザーに配信したことをマーケットプレイスに通知します。この方法で配達を確認するまで、製品を再購入することはできません

http://msdn.microsoft.com/en-US/library/windows/apps/windows.applicationmodel.store.currentapp.reportproductfulfillment.aspx

これを試して:

foreach (var i in CurrentApp.LicenseInformation.ProductLicenses) { 
    CurrentApp.ReportProductFulfillment(i.Value.ProductId);
}
于 2014-03-23T18:46:33.820 に答える