MAUI应用Play Store订阅页异常:无套餐列表及取消选项
解决Play Store订阅操作选项缺失的问题
1. 检查Google Play开发者控制台的订阅配置
- 确认订阅套餐的升级/降级规则已正确设置:
- 进入开发者控制台 -> 你的应用 -> 商品 -> 订阅 -> 找到对应订阅组,检查"升级/降级政策"是否开启,是否配置了允许同组内套餐间切换。
- 确保目标套餐和当前订阅属于同一个订阅组,跨组订阅无法在Play页面直接操作切换。
- 验证订阅的取消权限:检查是否在控制台设置了禁止用户自行取消的限制,默认情况下是允许用户取消的。
2. 核对Plugin.InAppBilling的跳转逻辑
- 确认跳转Play订阅页的代码调用了官方入口:
- 应使用
Plugin.InAppBilling.CrossInAppBilling.Current.OpenSubscriptionPageAsync()方法,而非自定义链接跳转。 - 检查是否传递了正确的订阅ID参数,确保跳转至对应用户当前订阅的管理页面。
- 应使用
3. 测试环境与账号排查
- 使用普通测试账号测试:开发者账号有特殊权限,可能导致页面显示异常,切换到控制台添加的普通测试账号,重新购买订阅后再尝试操作。
- 清除Play Store缓存:在设备设置中找到Google Play Store,清除缓存和数据后重启设备,再进入订阅页。
- 检查地区限制:部分地区的Play Store对订阅操作有特殊限制,切换到支持完整订阅操作的地区(如美国)测试。
4. 确认订阅状态与有效期
- 通过
Plugin.InAppBilling查询当前订阅状态:
确认订阅处于有效状态,过期或待确认的订阅可能无法操作升级/降级。var purchases = await CrossInAppBilling.Current.QueryPurchasesAsync(ItemType.Subscription); var currentSubscription = purchases.FirstOrDefault(p => p.ProductId == "你的订阅ID");
5. 检查Plugin.InAppBilling版本
- 确认使用的插件版本为最新稳定版,旧版本可能存在与Google Play最新API的兼容问题,升级后重新测试。
内容的提问来源于stack exchange,提问作者Matthew Pans




