Windows Phone 8:在应用程序购买屏幕中未显示

时间:2014-04-14 14:04:39

标签: windows-phone-8 in-app-purchase

我正在尝试为我在C#中使用Unity3D制作的游戏添加应用内购买功能。据我所知,当用户发起购买时 - 点击是从游戏中点击“购买”按钮,他们应该被带到购买屏幕?

没有深入了解插件的工作原理,这是从手机调用以启动相关功能的功能:

private static async Task<string>PurchaseUpgrade(string ID)
{
    var listings = await CurrentApp.LoadListingInformationAsync();

    var purchaseItem = listings.ProductListings.FirstOrDefault(x => x.Value.ProductId == ID &&
                                                                x.Value.ProductType == ProductType.Durable);
    try
    {
        if (CurrentApp.LicenseInformation.ProductLicenses[purchaseItem.Value.ProductId].IsActive)
        {
            return false.ToString();
        }
        else
        {
            Receipt = await CurrentApp.RequestProductPurchaseAsync(purchaseItem.Value.ProductId, true);
            return true.ToString();
        }
    }
    catch (Exception w)
    {
        return w.ToString();
    }
}

当用户在Unityplayer中点击“购买”按钮时,会调用此方法。

这是我第一次使用IAP,据我所知,当输入包含该行的else块时:

Receipt = await CurrentApp
              .RequestProductPurchaseAsync(purchaseItem.Value.ProductId, true);

应该“调出”购买屏幕?确认购买?

无论如何情况并非如此,任何人都有这方面的经验吗?

2 个答案:

答案 0 :(得分:0)

本指南将帮助您在本地计算机本地IIS Web服务和WP8模拟器中测试IAP

http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj681689(v=vs.105).aspx

答案 1 :(得分:0)

我会说你必须在UI线程上运行它

Deployment.Current.Dispatcher.BeginInvoke(() => ShowBuyDialog(productId));