SuperAPI AI 工具集

rc-error-handling

编程与开发

查看项目

更新于 10-15 18:08

技能介绍

用途

该技能用于在 RevenueCat Android SDK 中处理错误。相比直接使用 Google Play Billing 需要枚举所有 BillingResponseCode 并自行构建重试逻辑,RevenueCat 将错误统一为单一类型 PurchasesError,本技能帮助开发者正确捕获、分类并响应该错误。

主要能力

  • 识别 RevenueCat 的错误类型:PurchasesError 包含 code(PurchasesErrorCode 枚举)与 underlyingErrorMessage,message 为技术描述,仅用于日志。
  • 区分异常类型:awaitPurchase() 抛出 PurchasesTransactionException,额外带有 userCancelled: Boolean 标志;awaitOfferings、awaitGetProducts、awaitCustomerInfo、awaitRestore 等调用抛出 PurchasesException。
  • 按错误码分类处理,技能提供表格说明各 PurchasesErrorCode 的含义与处理方式,包括 PurchaseCancelledError、ProductAlreadyPurchasedError、PaymentPendingError、NetworkError、StoreProblemError、PurchaseNotAllowedError、IneligibleError。
  • 提供代码示例:购买错误处理、非购买错误处理,以及将错误码映射为用户可读字符串的 userFacingMessage 函数。
  • 强调 SDK 已内置对瞬时计费与网络失败的重试,到达应用层的错误已耗尽 SDK 重试预算,不应自行添加退避循环,仅实现用户触发的“重试”按钮。

使用方式

  1. 确定要包装的 await* 调用,据此选择捕获的异常类型。
  2. 确定哪些错误码需要特定处理,其余归入通用分支。
  3. 为每个处理的错误码确定面向用户的提示字符串。
  4. 在购买流程中,先检查 userCancelled 并静默返回,再根据 error.code 分支处理。
  5. 在非购买调用中,捕获 PurchasesException 并按错误码分支,可使用离线或缓存回退。
  6. 使用统一的映射函数将错误码转为用户提示,切勿将 error.message 直接展示给用户。

适用场景

适用于使用 RevenueCat Android SDK 并需要处理购买、恢复、获取商品、获取客户信息等操作中出现的错误的 Android 应用开发场景。

限制

技能内容仅针对 RevenueCat Android SDK 的错误处理,未提供其他平台或其他 SDK 的说明。资料中未提供具体的收费、价格、平台支持范围或效果数据。