개요
리워드 광고는 사용자가 동영상 광고를 끝까지 시청하면 게임 내 재화, 생명, 힌트 등의 보상을 제공하는 전면 동영상 광고입니다.주요 특징
- 전면 화면을 차지하는 동영상 광고
- 사용자가 광고를 완전히 시청한 경우에만 보상 제공
- 사용자가 직접 광고 시청을 선택 (예: “동영상 보고 생명 받기” 버튼)
- 보상 타입과 수량을 설정 가능
개발 환경에서는 테스트 유닛 ID를 사용하세요.
구현 방법
리워드 광고는 두 가지 방식으로 구현할 수 있습니다:- 클래스 방식 -
AdropRewardedAd클래스를 직접 사용 - Hook 방식 -
useAdropRewardedAdHook을 사용 (권장)
Hook 방식 구현 (권장)
React Hook을 사용하여 더 간결하고 React스러운 방식으로 구현할 수 있습니다.기본 예제
useAdropRewardedAd Hook
Hook을 사용하면 광고 상태를 자동으로 관리할 수 있습니다.파라미터
애드컨트롤 콘솔에서 발급받은 광고 유닛 ID.
null을 전달하면 광고 인스턴스가 생성되지 않습니다.반환값
광고를 요청합니다.
광고를 표시합니다.
광고 상태를 초기화하고 새로운 광고 인스턴스를 생성합니다.
광고가 로드되어 표시 가능한 상태인지 여부
광고가 화면에 표시되었는지 여부
광고가 닫혔는지 여부
사용자가 보상을 획득했는지 여부
보상 정보 (타입과 수량)
에러 코드 (에러 발생 시에만 값이 있음)
광고 인스턴스가 준비되어 사용 가능한 상태인지 여부
클래스 방식 구현
AdropRewardedAd 클래스를 직접 사용하여 광고를 구현할 수 있습니다.
기본 예제
AdropRewardedAd 클래스
생성자
애드컨트롤 콘솔에서 발급받은 광고 유닛 ID
프로퍼티
광고 유닛 ID (읽기 전용)
광고가 로드되어 표시 가능한 상태인지 여부 (읽기 전용)
로드된 광고의 크리에이티브 ID (읽기 전용)
광고 트랜잭션 ID (읽기 전용)
광고 이벤트를 수신할 리스너
메서드
광고를 요청합니다. 광고 로드 결과는 리스너의
onAdReceived 또는 onAdFailedToReceive로 전달됩니다.광고를 표시합니다.
광고 리소스를 해제합니다. 컴포넌트 언마운트 시 호출해야 합니다.
AdropListener 인터페이스
필수 콜백
광고 수신에 성공했을 때 호출됩니다. 이 시점부터
show() 메서드로 광고를 표시할 수 있습니다.광고 수신에 실패했을 때 호출됩니다. 에러 코드를 통해 실패 원인을 확인할 수 있습니다.
선택 콜백
광고가 노출되어 노출 기록이 전송되었을 때 호출됩니다.
사용자가 광고를 클릭했을 때 호출됩니다.
광고 화면이 표시되기 직전에 호출됩니다.
광고 화면이 완전히 표시된 후 호출됩니다.
광고 화면이 닫히기 직전에 호출됩니다.
광고 화면이 완전히 닫힌 후 호출됩니다. 다음 광고를 미리 로드할 수 있습니다.
광고 표시에 실패했을 때 호출됩니다. 에러 코드를 통해 실패 원인을 확인할 수 있습니다.
리워드 전용 콜백
사용자가 광고를 끝까지 시청하여 보상을 획득했을 때 호출됩니다.
type: 애드컨트롤 콘솔에서 설정한 보상 타입 (정수 값)amount: 애드컨트롤 콘솔에서 설정한 보상 수량 (정수 값)
보상 처리
Hook 방식에서 보상 처리
클래스 방식에서 보상 처리
테스트
테스트 유닛 ID
개발 중에는 항상 테스트 유닛 ID를 사용하세요. 실제 유닛 ID로 테스트하면 무효 트래픽으로 간주되어 계정이 정지될 수 있습니다.에러 처리
Hook 방식에서 에러 처리
클래스 방식에서 에러 처리
Best Practices
1. 광고 미리 로드하기
사용자 경험을 위해 광고를 미리 로드해두는 것이 좋습니다.2. 광고 준비 상태 확인
광고가 로드되었는지 확인하고 UI를 업데이트합니다.3. 메모리 관리
컴포넌트 언마운트 시 광고 리소스를 정리합니다.4. 에러 핸들링
적절한 에러 처리로 사용자 경험을 개선합니다.완전한 예제
Hook 방식 완전한 예제
클래스 방식 완전한 예제
백필 광고
백필 광고를 사용하려면 네이티브 플랫폼(Android/iOS)에 백필 의존성이 추가되어 있어야 합니다.
ad.isBackfilled 프로퍼티를 사용합니다.