主题
错误类型
onAdFailedToLoad(error) 的 error 为 String。Flutter 侧不暴露 Android 的密封类 NovvyError,而是过桥前将其压平成下列固定标记字符串,宿主可据此分支处理:
error 字符串 | 含义 |
|---|---|
NoFill | 服务端无广告填充,属正常情况(通常静默处理,不必告警) |
NoBid | 服务端无出价 |
Timeout | 请求超时 |
InvalidRequest | 请求参数有误(含 SDK 未初始化就发起请求) |
NoData | 响应数据为空 |
EncodingFailed | 数据编解码失败 |
InternalError: <details> | SDK 内部错误,冒号后附带详情 |
dart
ad.onAdFailedToLoad = (error) {
if (error == 'NoFill') return; // 无填充,正常,静默
if (error.startsWith('InternalError:')) { // 带 details 后缀,用前缀匹配
log('Novvy 内部错误: $error');
}
ad.destroy(); // 其余按需降级
};前六项为精确匹配;
InternalError因带: <details>后缀,请用startsWith('InternalError:')判断。