0

アプリ内購入を追加したアプリを作成し、テスト用にベータ版としてアップロードしました。

アプリ内購入のコードは次のとおりです。

      Private async void Purchase()
      {
        LicenseInformation licenseInformation = CurrentApp.LicenseInformation;
            string str;
            try
            {
                var listing = await CurrentApp.LoadListingInformationAsync();
                var _price = listing.FormattedPrice;
                // start product purchase
                await CurrentApp.RequestProductPurchaseAsync("FeatureName", false);

                ProductLicense productLicense = null;
                if (CurrentApp.LicenseInformation.ProductLicenses.TryGetValue("FeatureName", out productLicense))
                {
                    if (productLicense.IsActive)
                    {
                        MessageBox.Show("Product purchased");

                        CurrentApp.ReportProductFulfillment("FeatureName");
                         ProductPurchased();       // It display product purchased & trigger full version
                         return;
                    }
                    else
                    {
                        str = "Purchase failed";
                       ShowErrorPopup(str); // It shows error msg. purchase failed.
                       return;
                    }
                }
         }
            catch (Exception)
            {
                str = "Purchase failed. Check internet connection and try again";
                ShowErrorPopup(str);
                return;
            }
         }

ベータ ビルドをインストールしている間に、購入ボタンをクリックしました。購入場所に行きます。

インストールまたはキャンセルを求められます。

インストールまたはキャンセルを指定すると、アプリが強制終了されます。

私がした間違いは何ですか。誰かがこれを解決するのを手伝ってくれますか????

4

1 に答える 1

2

私が過去に行ったことは、ソリューションで Mock In-App Purchase プロジェクトを作成して、これを事前にテストすることでした。詳細については、こちらの回答をご覧ください。基本的に、アプリ内購入をデバッグ中に機能するように設定し、ストアからもシームレスに機能させることができます.

基本的に、すべてのアプリ内購入アイテムをモック ライブラリに設定しますが、これはデバッグ時にのみ使用します。デバッグしていないときは、リアル ストアを使用します。

#if DEBUG
using MockIAPLib;
using Store = MockIAPLib;
#else
using Windows.ApplicationModel.Store;
#endif

これにより、コードをステップ実行して、アプリがクラッシュする理由を見つけることができます。「クラッシュ レポート」をキャッチすることに加えて、リトル ワトソンをチェックしてください。私はこれを実装しましたが、うまく機能します。

お役に立てれば!

于 2013-07-16T13:38:55.380 に答える