1

Windows ストア アプリでアプリ内購入を構築するには、アプリ内購入シミュレーターを使用する必要があります。実際の In-App Purchase Namespaceとほぼ同じです。アプリをビルドするときは、シミュレーターを使用します。ストアで自分の名前を予約しました。アプリのアプリ内購入もストアで作成しました。認定のためにアプリを提出する前に、実際の IAP をテストする方法はありますか?

4

1 に答える 1

4

いいえ、アプリが認定のために提出されるまで、アプリ内購入は Windows ストアでは "実際" ではありません。つまり、送信前の最後のステップは、シミュレーター コードを実際のコードに置き換えることです。そして、はい、それは実際のコードをテストできないことを意味します。Store テスターが最初にテストします。

もう一つ

そうは言っても、実際の API とシミュレーター API の両方をラップするヘルパー クラスを作成しました。ユースケースの 90% しか役に立ちませんが、それらの 90% には最適です。IAP 製品チームでコードを検証し、それを使用する実際のアプリを提出しました。

このヘルパーはここにあります: http://codepaste.net/rqwtcy

たとえば、広告を削除する場合の構文は次のとおりです...

次のように View Model に追加します。

public async Task Start()
{
    // in app purchase setup
    m_HideAdsFeature = await new InAppPurchaseHelper(HIDEADSFAETURENAME,
        System.Diagnostics.Debugger.IsAttached).Setup();
    this.HideAds = m_HideAdsFeature.IsPurchased;
}

bool m_HideAds = false;
public bool HideAds { get { return m_HideAds; } set { SetProperty(ref m_HideAds, value); } }

const string HIDEADSFAETURENAME = "HideAds";
InAppPurchaseHelper m_HideAdsFeature;

// http://codepaste.net/ho9s5a
DelegateCommand m_PurchaseHideAdsCommand = null;
public DelegateCommand PurchaseHideAdsCommand
{
    get
    {
        if (m_PurchaseHideAdsCommand != null)
            return m_PurchaseHideAdsCommand;
        m_PurchaseHideAdsCommand = new DelegateCommand(
            PurchaseHideAdsCommandExecute, PurchaseHideAdsCommandCanExecute);
        this.PropertyChanged += (s, e) => m_PurchaseHideAdsCommand.RaiseCanExecuteChanged();
        return m_PurchaseHideAdsCommand;
    }
}
async void PurchaseHideAdsCommandExecute()
{
    PauseCommandExecute();
    await m_HideAdsFeature.Purchase();
    HideAds = m_HideAdsFeature.IsPurchased;
}
bool PurchaseHideAdsCommandCanExecute()
{
    if (m_HideAdsFeature == null)
        return false;
    return !m_HideAdsFeature.IsPurchased;
}

次のように XAML に追加します。

<UI:AdControl x:Name="MyAdControl"
    Width="250" Height="250"
    HorizontalAlignment="Left" VerticalAlignment="Top"
    AdUnitId="10043107" ApplicationId="d25517cb-12d4-4699-8bdc-52040c712cab"
    Visibility="{Binding HideAds,
            Converter={StaticResource CollapsedWhenTrueConverter}}" />

頑張ってください!

于 2013-02-21T18:26:38.300 に答える