我使用以下代码根据msdn link获取订阅产品,但返回其他持久性adons。 GetAssociatedStoreProductsAsync函数返回的实际订阅广告。 我的应用程序在商店中,订阅也在商店中,如下所示。
这里有什么问题?有人可以给我一些帮助吗?
private async Task<StoreProduct> GetSubscriptionProductAsync()
{
// Load the sellable add-ons for this app and check if the trial is still
// available for this customer. If they previously acquired a trial they won't
// be able to get a trial again, and the StoreProduct.Skus property will
// only contain one SKU.
StoreProductQueryResult result =
await context.GetAssociatedStoreProductsAsync(new string[] { "Durable" });
if (result.ExtendedError != null)
{
System.Diagnostics.Debug.WriteLine("Something went wrong while getting the add-ons. " +
"ExtendedError:" + result.ExtendedError);
return null;
}
// Look for the product that represents the subscription.
foreach (var item in result.Products)
{
StoreProduct product = item.Value;
if (product.StoreId == subscriptionStoreId)
{
return product;
}
}
System.Diagnostics.Debug.WriteLine("The subscription was not found.");
return null;
}
答案 0 :(得分:1)
很高兴知道您已按照MSDN文档中的步骤为您的应用启用订阅加载项。但我仍有一些要点与你确认。
请先检查以上要点。
答案 1 :(得分:0)
来自Xavier Xie-Msft的回答确实也是正确的,但不是我的情况,因为我正按照他提到的所有步骤进行操作。我的问题的实际答案是,
虽然在开发人员中心,它会显示在商店中(例如我的屏幕截图中),但是In app purchase api不会在一天或更长时间内返回它。系统会发送一封电子邮件,说“您的广告在商店中”,此电子邮件通常会在开发中心的“商店”中显示一天后发送。电子邮件确实是广告确实存储在商店中。如果电子邮件是正确的确认,为什么开发中心在商店中显示是非常令人困惑的。