在提交到应用商店之前,我可以测试真实的应用内购买吗

本文关键字:应用 真实 测试 我可以 提交 | 更新日期: 2023-09-27 18:00:23

在Windows应用商店应用程序中构建应用内购买需要使用应用内购买模拟器。它与真正的应用内购买命名空间几乎完全相同。在构建我的应用程序时,我使用模拟器。我在商店里保留了我的名字。我甚至在应用商店为我的应用程序创建了一个应用内购买。在提交我的应用程序进行认证之前,有没有办法测试真正的IAP?

在提交到应用商店之前,我可以测试真实的应用内购买吗

否,在您的应用提交认证之前,应用内购买在Windows应用商店中不是"真实的"。这意味着您在提交之前的最后一步是将模拟器代码替换为真实代码。是的,这意味着你不能测试你的真实代码——商店测试人员将是第一个为你测试它的人。

还有一件事

话虽如此,我创建了一个助手类,它包装了real和模拟器API。虽然它只会帮助90%的用例,但它非常适合这90%的用例。我已经与IAP产品团队验证了代码,并提交了使用它的真实应用程序。

你可以在这里找到这个助手:http://codepaste.net/rqwtcy

例如,如果你想删除广告,下面是语法。。。

我把它添加到我的视图模型中,如下所示:

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}}" />

祝你好运!