Ad API
Ad API
showRewardedAd(options) (권장)
보상형 광고를 한 번의 호출로 표시합니다. 광고 로드, 표시, 실패 시 재시도 및 안내를 플랫폼이 자동으로 처리합니다.
옵션:
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
adUnitId | string | ✅ | 광고 단위 ID |
success | function | - | 성공 콜백 |
fail | function | - | 실패 콜백 |
complete | function | - | 완료 콜백 |
성공 응답:
| 필드 | 타입 | 설명 |
|---|---|---|
isEnded | boolean | 광고 시청 완료 여부 (보상 지급 대상) |
errMsg | string | 결과 메시지 |
// 콜백 패턴
TudadaSDK.showRewardedAd({
adUnitId: 'your-ad-unit-id',
success: (res) => {
if (res.isEnded) {
console.log('보상 지급!');
giveReward();
}
},
fail: (err) => {
console.error('광고 표시 실패:', err.errMsg);
},
});
// Promise 패턴
const result = await TudadaSDK.showRewardedAdAsync({ adUnitId: 'your-ad-unit-id' });
if (result.isEnded) {
giveReward();
}
참고: 광고 로드 실패 시 플랫폼이 자동으로 재시도하고, 최종 실패 시 안내 팝업을 표시합니다. 게임에서 별도의 에러 처리 UI를 구현할 필요가 없습니다.
createRewardedVideoAd(options) (레거시)
보상형 비디오 광고 인스턴스를 생성합니다.
옵션:
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
adUnitId | string | ✅ | 광고 단위 ID |
multiton | boolean | - | 다중 인스턴스 모드 |
참고: 현재 단일 광고만 지원하며, 광고 ID는 플랫폼에서 제어하므로
adUnitId에는 임의의 문자열을 입력해도 됩니다.
인스턴스 메서드:
| 멤버 | 타입 | 설명 |
|---|---|---|
load() | Promise<void> | 광고 로드 |
show() | Promise<void> | 광고 표시 |
destroy() | void | 인스턴스 파괴 |
onLoad(callback) | void | 로드 완료 이벤트 |
onError(callback) | void | 에러 이벤트 |
onClose(callback) | void | 닫기 이벤트 |
offLoad(callback?) | void | 로드 이벤트 해제 |
offError(callback?) | void | 에러 이벤트 해제 |
offClose(callback?) | void | 닫기 이벤트 해제 |
// 광고 인스턴스 생성
const rewardedAd = TudadaSDK.createRewardedVideoAd({
adUnitId: 'your-ad-unit-id',
});
// 이벤트 리스너 등록
rewardedAd.onLoad(() => {
console.log('광고 로드 완료');
});
rewardedAd.onError((err) => {
console.error('광고 에러:', err.errMsg, err.errCode);
});
rewardedAd.onClose((res) => {
if (res.isEnded) {
// 사용자가 광고를 끝까지 시청함 → 보상 지급
console.log('보상 지급!');
giveReward();
} else {
// 사용자가 중간에 닫음
console.log('광고 중간 종료');
}
});
// 광고 로드 및 표시
rewardedAd.load()
.then(() => rewardedAd.show())
.catch((err) => console.error('광고 표시 실패:', err));