0

私の WP8 アプリには、消耗品のアプリ内購入があります。アイテムの配達時に、製品のフルフィルメントをマーケットプレイスに報告する必要があることを理解しています.

だから私の質問は、私ができない場合はどうなりますか? たとえば、インターネット接続がない場合。

私が見たサンプルコードは、製品リストを取得し、呼び出しRequestProductPurchaseAsyncてからすぐにReportProductFulfillment

基本的には、両方とも成功するか、どちらも成功しないことを望んでいます...RequestProductPurchaseAsync成功した場合、履行を報告しなくても、顧客に請求されることを意味しますか?

またはCurrentApp.LicenseInformation、関連するライセンスを確認する必要IsActiveがあります。それが正しい場合は、購入が成功したと見なして、フルフィルメントを報告する必要があります。しかし、必要に応じて再試行できるように、フルフィルメントが成功したかどうかを知る方法も必要です。

誰かが何かアイデアを持っているか、読むべき資料の方向性を教えてくれるなら、これが何らかの意味を持っていることを願っています. ありがとう。

4

2 に答える 2

0

ライセンスを確認する代わりに、次のIsActiveことができます。

PurchaseResults receipt = await CurrentApp.RequestProductPurchaseAsync(pID);
string status = receipt.Status.ToString();
if(status == "succeeded")
{
 // do your stuff
}
于 2015-11-24T15:19:12.217 に答える
0

これは私がそれを行う方法です:

ネットワークがない場合、エクスペリエンスの購入に進まないか、ユーザーが購入をキャンセルすると、RequestProductPurchaseAsync が例外をスローします。これをキャッチして適切に処理する必要があります。ユーザーが商品を購入した場合は、すぐにフルフィルメントを行う必要があります。

await CurrentApp.RequestProductPurchaseAsync(productId, false);
if (CurrentApp.LicenseInformation.ProductLicenses[productId].IsActive)
{
     // Report fulfillment
     CurrentApp.ReportProductFulfillment(productId);
     ------------
}
于 2014-03-26T22:34:44.990 に答える