Microsoft商店。如何使用C#代码获得所有市场的所有价格?

时间:2020-08-06 05:15:25

标签: c# uwp windows-store-apps

我需要获取所有市场的所有价格。

是否有可能针对不同的市场(国家/地区)获得不同的价格,而不仅仅是附加产品的基本价格?

此代码始终仅返回基本价格:

var context = StoreContext.GetDefault();
var productKinds = new[]
{
    "Application", "Game", "Consumable", "UnmanagedConsumable", "Durable"
};

var associatedProducts = await context.GetAssociatedStoreProductsAsync(productKinds);
var storeProducts = associatedProducts.Products.ToDictionary(x => x.Key, x => x.Value);

var sb = new StringBuilder();
foreach (var (_, product) in storeProducts)
{
    var skus = product.Skus.ToArray();

    sb.AppendLine($"{++counter:D2}. {nameof(StoreProduct)}. StoreId: {product.StoreId}, InAppOfferToken: {product.InAppOfferToken}, " +
                    $"ProductKind: {product.ProductKind}, Language: {product.Language}, Title: {product.Title}, Skus.Length = {skus.Length}.");
    sb.AppendLine("StoreSku:");

    StoreSku storeSku = skus.FirstOrDefault();
    if (storeSku != null)
    {
        var availabilities = storeSku.Availabilities?.ToArray() ?? new StoreAvailability[0];
        foreach (StoreAvailability item in availabilities)
        {
            sb.AppendLine($"    {nameof(StoreAvailability)}. StoreId: {item.StoreId}, Price.CurrencyCode: {item.Price.CurrencyCode}, Price.FormattedPrice: {item.Price.FormattedPrice}.");
        }
    }

    sb.AppendLine();
}

string log = sb.ToString();
Debug.WriteLine(log);

https://partner.microsoft.com/en-us/dashboard/products/{STORE_ID}/submissions/{SUBMISSION_ID}/availability

https://partner.microsoft.com/en-us/dashboard/products/{STORE_ID}/submissions/{SUBMISSION_ID}/availability

0 个答案:

没有答案