用途:在发布前系统验证 RevenueCat 集成是否真正可用,把模糊的“购买能不能用”转化为可检查的 QA 计划。每个行为都对应可验证信号,如仪表盘事件 INITIAL_PURCHASE、TRANSFER、EXPIRATION、PRODUCT_CHANGE、CANCELLATION,period_type 值,或 CustomerInfo/调试日志状态;测试应绑定到具体信号。
主要能力:覆盖五个测试域——订阅生命周期(购买、试用/介绍优惠 period_type=TRIAL/INTRO、续订、升降级 PRODUCT_CHANGE、取消、过期、退款)、配置(匿名与已识别 App User ID、offering 展示、登录登出与账号合并风险)、恢复流程(syncPurchases()、恢复到新 ID、三 ID 冲突、禁用转移行为,信号是 TRANSFER 是否触发)、付费墙(展示与购买、本地化、介绍优惠资格)、RevenueCat Billing(网页购买、试用自动转换、过期)。
使用方式:先收集平台、SDK、是否开启调试日志与沙盒账号、要验证的问题;再建立前置条件——在 configure() 前开启调试日志(iOS Purchases.logLevel = .debug;Android setLogLevel(LogLevel.DEBUG)),检查 Invalid Product Identifiers 与错误日志,配置沙盒环境与多个测试 ID,使用 debugRevenueCatOverlay() / DebugRevenueCatBottomSheet 预览 offering 并快速测试购买。Flutter 可参考官方 Purchase Tester 示例应用 github.com/RevenueCat/purchases-flutter/tree/main/revenuecat_examples/purchase_tester,含 product_change_testing_screen.dart 与 integration_test/app_test.dart;其他 SDK 仓库有对应示例。
适用场景:购买/恢复/试用调试、权益与事件验证、沙盒测试搭建、账号切换与转移排查。
限制:iOS 沙盒无法测试退款,App Store 会引导用户联系 Apple 支持,CANCELLATION/CUSTOMER_SUPPORT 事件可能约 24 小时才出现;Google Play 退款由仪表盘驱动。具体事件名与前置条件需查阅 references/use_cases.md,资料未提供完整矩阵细节。