본문으로 건너뛰기

문제 해결하기

오류 코드가 나타납니다

BuzzvilSDK 메소드 호출 시 오류가 발생하면 onFailure 콜백으로 Error가 전달됩니다. 아래의 오류 코드 표를 참고하여 문제의 원인을 파악하고 오류를 해결할 수 있습니다.

✏️  참고
Buzzvil SDK에서 발생하는 오류의 도메인은 BuzzErrorDomain입니다.

오류 코드원인해결 방법
serverError버즈빌 서버에서 오류가 발생했습니다.버즈빌 담당자에게 오류 코드를 전달하세요.
clientError요청이 요구 사항을 충족하지 않았습니다.
(예: 사용자 로그인 전에 광고 요청을 시도함)
요청의 인자로 올바른 값을 전달하는지 확인하세요.
connectionTimeout네트워크 요청이 제한된 시간을 초과했습니다.네트워크 연결 상태를 확인하세요.
emptyResponse네트워크 응답이 비어 있습니다.
(예: 광고 요청에 성공했지만 응답으로 받은 광고의 개수가 '0'임)
버즈빌 담당자에게 오류 코드를 전달하세요.
waitingForResponse베네핏허브 지면에서 광고의 프리로드(preload) 요청을 처리 중일 때 프리로드를 다시 요청하면 발생할 수 있는 오류입니다. 이 오류 코드가 발생하더라도 광고 할당은 정상적으로 처리됩니다.프리로드를 중복으로 요청하지 않았는지 확인하세요.
agePolicy사용자의 나이가 플랫폼 정책상 광고를 받을 수 있는 나이보다 어립니다.로그인 시 나이를 15세 이상으로 설정해 주세요.
privacyPolicyNotGranted사용자가 개인정보 처리보호방침에 동의하지 않았습니다.광고를 요청하기 전에 개인정보 처리보호방침에 동의하였는지 확인하세요.
unknown식별이 불가능한 오류입니다.SDK 연동과 앱 빌드 과정에서 오류가 없었는지 점검해 보세요.

다음은 네이티브 광고 요청 시 오류를 처리하는 예시입니다.

let native = BuzzNative(unitId: "YOUR_NATIVE_UNIT_ID")

native.load(
onSuccess: { nativeAd in
// 할당된 광고가 있으면 호출됩니다.
},
onFailure: { error in
guard let error = error as? BuzzError else {
// BuzzErrorDomain에 속하지 않는 오류를 처리합니다.
return
}

switch error {
case .serverError:
print("server error")
case .clientError:
print("client error")
case .connectionTimeout:
print("connection timeout")
case .emptyResponse:
print("empty response")
case .waitingForResponse:
print("waiting for response")
case .agePolicy:
print("age policy")
case .privacyPolicyNotGranted:
print("privacy policy not granted")
case .unknown:
print("unknown error")
@unknown default:
break
}
}
)