アプリが消耗品の購入を完了する前にバックグラウンドに移行するシナリオについて、Windows Phone 8 アプリをテストしています。そのため、アプリを起動するたびに、満たされていないアプリ内購入があるかどうかを確認し、ある場合はCurrentApp.ReportProductFulfillment
メソッドを使用してそれらを満たします。ただし、テスト中に、デバイスがインターネットに接続されていなくてもこの方法が機能することに気付きました。では、アプリはいつどのようにして購入が成功したことを Marketplace に知らせるのでしょうか? さらに重要なことに、これはインターネットに接続している場合にのみ行うべきですか?
ちなみにこれは私のコードです:
var licenses = CurrentApp.LicenseInformation.ProductLicenses;
if (licenses["PRODUCT_ID"].IsConsumable && licenses["PRODUCT_ID"].IsActive) {
// Fulfill consumable purchases
// Let the Marketplace know
CurrentApp.ReportProductFulfillment("PRODUCT_ID");
}