我正在尝试为我在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);
应该“调出”购买屏幕?确认购买?
无论如何情况并非如此,任何人都有这方面的经验吗?
答案 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));