Windows Phone 8恢复在不同设备上的应用程序购买

时间:2014-07-18 13:10:52

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

我的应用适用于Windows Phone 8.我没有在配置了相同帐户的其他设备上购买应用。在应用程序的开始我试图恢复购买。以下是片段。

var licenses = CurrentApp.LicenseInformation.ProductLicenses;
if (licenses.Count == 0)
{
   Logger.Debug("Licenses for MS server is zero.");
   return;
}                 
else
{
 string str = string.Empty;
 foreach (var item in licenses)                  
 {                 
     str = str + item.Value.ProductId + "  ";
 }                   
  Logger.Debug("PURCHSE_STORE First call to sync. Product ids found :" + str);
}

我已在Windows Phone Store上发布应用程序(处于隐藏模式),并在应用程序产品PRODUCT_1中创建了零价格。我已经在我的两个测试设备DEVICE A和DEVICE B上下载了app,这些设备配置了相同的帐户。现在我在PRODUCT_1的DEVICE A上进行了In App Purchase。在我在DEVICE A和DEVICE B上启动应用程序一段时间后,我希望在两台设备的日志中看到PRODUCT_1。但它只出现在我购买的DEVICE A的日志中,而不是在DEVICE B上。

产品是“消费品”,因为我们正在开发WP 8.0,我们需要创建月度和年度通行证。据我了解,在WP 8.0中,我们无法指定耐用品的持续时间。这就是我们使用消耗品的原因。我们没有履行产品,直到它过期。例如,如果用户购买了月票,我们会给他一个月的访问权限,然后我们会发送履行请求,以便他可以再次购买。每次用户尝试访问受限内容时,我们都会检查他是否已经购买了相应的通行证。

请帮我正确恢复应用内购买。

1 个答案:

答案 0 :(得分:1)

您提到您尚未履行该产品,表明您使用的是“耗材”产品而不是耐用品进行测试。

Windows Phone Store实际上并不支持恢复耗材,您需要跟踪用户通过您自己的方式购买了多少“硬币”或“宝石”。请参阅管理应用更新和版本控制:http://msdn.microsoft.com/library/windows/apps/jj206949(v=vs.105).aspx

如果你可以使用耐用的IAP,虽然一切都应该正常工作,产品将出现在其他手机上的同一个Microsoft帐户的ProductLicenses下。