.NET Maui集成Google Pay 5.2.1遇权限报错,求订阅内购方案
.NET Maui 订阅与应用内购买报错解决办法
确认BILLING权限配置位置
确保<uses-permission android:name="com.android.vending.BILLING" />代码放在AndroidManifest.xml的<manifest>根标签内,而非<application>标签下,避免权限未被正确识别。安装适配.NET Maui的内购NuGet包
弃用老旧的Xamarin内购库,安装Plugin.InAppBilling.Maui包,然后在MauiProgram.cs中注册服务:builder.Services.AddTransient<IInAppBilling, InAppBillingImplementation>();检查Google Play Console配置
- 应用必须已发布至少内部测试版本(草稿状态无法触发内购流程)
- 订阅/内购商品已创建并设置为「激活」状态
- 测试设备使用的账号已添加到Play Console的「许可测试」列表中
代码初始化与调用规范
初始化Billing客户端时需指定正确的商品类型(订阅用ItemType.Subscription),示例代码:var billing = CrossInAppBilling.Current; var isConnected = await billing.ConnectAsync(ItemType.Subscription); if (!isConnected) { // 处理连接失败逻辑,比如提示用户检查Google Play服务 }调用查询或购买接口时,确保商品ID与Play Console中配置的完全一致(区分大小写)。
常见报错排查
- 「Service not available」:检查设备Google Play服务是否安装且版本达标,或应用未在Play Console完成发布配置
- 「Item not found」:核对商品ID拼写、状态,确保已激活
- 「Permission denied」:再次确认权限标签位置正确,无拼写错误
内容的提问来源于stack exchange,提问作者Rikudou En Sof
相关产品推荐
相关产品推荐

