2014-04-14 214 views
1

我试图在Unity中使用Unity3D在C#中添加应用内购买功能。据我所知,当用户发起购买时 - 即点击说你的游戏中的“购买”按钮,他们应该被带到购买屏幕?Windows Phone 8:在应用程序购买屏幕上不显示

没有进入的插件是如何工作的细节,这是从手机被称为启动purhase功能:

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工作这么据我所知:

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

应该“造就”购买屏幕?确认购买?

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

+0

会发生什么事在UI线程上运行此你调用RequestProductPurchaseAsync方法?您的应用是否已发布到商店?该代码仅适用于从商店直接下载的应用程序,而不适用于调试版本。如果该应用尚未发布,则应使用[CurrentAppSimulator](http://msdn.microsoft.com/zh-cn/library/windows/apps/windows.applicationmodel.store.currentappsimulator)进行测试。 [Here](http://invokeit.wordpress.com/2012/09/14/in-app-purchase-with-win8dev-winrt/)就是一个很好的例子。 – MVarman

+0

如果您的应用的ProductId(在WPManifest.xml中找到)和ApplicationId(在Dev Center中找到)不相同,则无法测试您的应用内购买(除使用CurrentAppSimulator之外)。让它一样,它应该工作。 –

+0

对不起,延迟回复。我实际上使用从Msdn提供的MockAPI库来在一分钟内测试购买。 –

回答

0

我会说你有

Deployment.Current.Dispatcher.BeginInvoke(() => ShowBuyDialog(productId)); 
相关问题