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

.NET 8 MAUI中InAppBillingPlugin购消耗品Windows端purchase为null的解决办法

解决.NET 8 MAUI Windows平台InAppBillingPlugin购买消耗品返回null的问题

1. 检查微软商店配置与关联

  • 确认应用已关联到微软商店后台,且消耗品内购项已创建并发布至测试环境(无需正式发布,但需确保状态为可测试)。
  • 核对代码中使用的产品ID与商店后台配置的完全一致(Windows平台对Product ID大小写敏感)。
  • 检查Package.appxmanifest,确保已启用Internet (Client)权限——内购流程需要网络连接验证。

2. 使用正确的测试账户

  • 必须使用微软商店的测试账户进行内购测试,普通微软账户无法访问未正式发布的内购项。
  • 确保测试账户已添加到应用后台的「测试人员」列表,且Windows系统已切换至该测试账户。

3. 修正购买逻辑代码

Windows平台的内购流程对调用时机和异常处理有特殊要求,以下是优化后的代码示例:

var billing = CrossInAppBilling.Current;
try
{
    // 先确认与商店的连接状态
    var isConnected = await billing.ConnectAsync();
    if (!isConnected)
    {
        Debug.WriteLine("Failed to connect to Windows Store");
        return;
    }

    // 传入正确的消耗品ID,指定ItemType为Consumable
    var purchase = await billing.PurchaseItemAsync("your_consumable_product_id", ItemType.Consumable);

    if (purchase != null)
    {
        // 消耗品必须调用Consume才能再次购买
        var consumed = await billing.ConsumePurchaseAsync(purchase.PurchaseToken);
        if (consumed)
        {
            // 发放游戏生命等逻辑
        }
    }
    else
    {
        Debug.WriteLine("Purchase returned null - likely user cancelled or product unavailable");
    }
}
catch (InAppBillingPurchaseException ex)
{
    // 捕获购买相关异常,比如用户取消、产品不存在、权限不足等
    Debug.WriteLine($"Purchase failed: {ex.Message}, Error Code: {ex.PurchaseError}");
}
catch (Exception ex)
{
    Debug.WriteLine($"Unexpected error: {ex.Message}");
}
finally
{
    // 确保断开连接
    await billing.DisconnectAsync();
}

4. 处理Windows平台特殊逻辑

  • 确保购买操作在UI线程执行——Windows的内购弹窗需要绑定到UI上下文,否则可能无响应或返回null。
  • 初始化InAppBilling时,可显式指定Windows平台配置:
var options = new InAppBillingOptions
{
    WindowsStoreOptions = new WindowsStoreInAppBillingOptions
    {
        // 可选:指定测试环境,默认已适配测试模式
    }
};
var billing = CrossInAppBilling.Current;
await billing.ConnectAsync(options);

5. 调试与日志排查

  • 在关键步骤添加日志,记录连接状态、产品ID、返回结果及异常信息,定位具体失败原因。
  • 检查Windows事件查看器中的应用日志,是否有商店相关的错误提示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 09:52:10