Проблема
Команда CheckSubscription неправильно возвращает false, даже если вошедший в систему пользователь имеет активную подписку на надстройку.
Ниже приведен фрагмент кода
Код: Выделить всё
private static async Task HandleCheckSubscriptionCommand(string[] args)
{
string addonId = args[1];
var context = StoreContext.GetDefault();
var license = await context.GetAppLicenseAsync();
foreach (var kvp in license.AddOnLicenses)
{
var addOnLicense = kvp.Value;
if (addOnLicense.SkuStoreId.Equals(addonId, StringComparison.OrdinalIgnoreCase))
{
bool isValid = addOnLicense.IsActive && addOnLicense.ExpirationDate > DateTimeOffset.UtcNow;
Console.WriteLine(isValid ? "true" : "false");
return;
}
}
Console.WriteLine("false");
}
Я также сделал следующее:
- Приложение CLI в пакете MSIX (Windows 10+), оболочка включена и успешно запускается приложением
- Опубликовано в Microsoft Store (исключено из списка для тестирования)
- Использование StoreContext.GetAppLicenseAsync()
- Дополнение подписки опубликовано и доступно для тестирования
- Идентификатор дополнения правильно разрешается через API
Подробнее здесь: https://stackoverflow.com/questions/796 ... on-in-msix
Мобильная версия