Android端Firebase动态链接生成超限报429错误如何检测捕获?
解决方案
Firebase Dynamic Links SDK 会将服务端返回的错误封装为FirebaseDynamicLinksException类型异常,你需要在失败回调中先做类型转换,再提取对应的错误码判断是否为配额耗尽:
.addOnFailureListener { exception -> if (exception is FirebaseDynamicLinksException) { when(exception.errorCode) { // 匹配配额耗尽错误码,对应服务端返回的429 FirebaseDynamicLinksException.ERROR_QUOTA_EXCEEDED -> { // 此处处理限额触达逻辑,比如降级用长链接、提示用户稍后重试 } // 可按需补充其他错误的处理分支 else -> { // 其他错误通用处理 } } } else { // 非SDK定义的其他异常处理 } }
补充说明
- 常量
FirebaseDynamicLinksException.ERROR_QUOTA_EXCEEDED对应的数值为8,直接匹配常量即可无需硬编码数值 - 可额外配合本地调用量统计+服务端配额剩余量查询做前置判断,不用等到请求失败再处理,优化用户体验
- 配额耗尽后可降级直接使用未缩短的长动态链接分享,功能完全一致只是链接长度更长
内容的提问来源于stack exchange,提问作者Khawar Raza
相关产品推荐
相关产品推荐

