You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在.NET MAUI应用中实现Microsoft Store应用内购买功能?

.NET MAUI实现Microsoft Store附加组件购买与验证方案

针对你需要的两个核心功能,在.NET MAUI的Windows平台上可以通过调用Windows App SDK的Microsoft Store相关API实现,以下是具体实现方案:

1. 触发附加组件购买流程

通过StoreContext类发起购买请求,代码示例如下:

using Windows.Services.Store;

// 获取当前应用的Store上下文
var storeContext = StoreContext.GetDefault();
// 替换为你的附加组件Product ID
string addOnProductId = "你的附加组件ID";

try
{
    // 发起购买请求
    var purchaseResult = await storeContext.RequestPurchaseAsync(addOnProductId);
    // 根据购买结果处理逻辑
    switch (purchaseResult.Status)
    {
        case StorePurchaseStatus.Succeeded:
            // 购买成功,启用对应功能
            EnableAddOnFeature();
            break;
        case StorePurchaseStatus.AlreadyPurchased:
            // 用户已购买过该组件
            EnableAddOnFeature();
            break;
        // 处理其他状态(比如取消购买、失败等)
        default:
            break;
    }
}
catch (Exception ex)
{
    // 处理异常
}

2. 验证用户是否已购买附加组件

通过StoreContext查询用户的已购集合,判断目标附加组件是否已购买,代码示例:

using Windows.Services.Store;

var storeContext = StoreContext.GetDefault();
string addOnProductId = "你的附加组件ID";

try
{
    // 获取用户已购买的所有附加组件
    var collectionResult = await storeContext.GetUserCollectionAsync(new[] { addOnProductId });
    if (collectionResult.ExtendedError == null)
    {
        foreach (var item in collectionResult.Items)
        {
            // 检查产品状态是否为已购买
            if (item.ProductId == addOnProductId && item.IsInUserCollection)
            {
                // 启用对应功能
                EnableAddOnFeature();
                break;
            }
        }
    }
}
catch (Exception ex)
{
    // 处理异常
}

注意事项

  • 上述代码仅适用于.NET MAUI的Windows平台,需确保项目已引用Windows.Services.Store命名空间;
  • 附加组件的Product ID需与Microsoft Store开发者后台中配置的一致;
  • 在调试时,需要使用关联到Microsoft Store的应用包进行测试,否则API会返回异常。

内容的提问来源于stack exchange,提问作者Steve Wortham

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 04:10:27