오퍼월 작동 플로우

사용자가 오퍼월을 열고 광고를 참여하는 전체 과정입니다.

📊 다이어그램 안내 이 문서의 다이어그램은 Mermaid 형식으로 작성되어 있습니다.

  • GitHub에서 보기: 자동으로 렌더링됩니다.

  • GitBook에서 보기: 아래 코드를 복사하여 Mermaid Live Editor에 붙여넣으면 확인할 수 있습니다.

오퍼월 열기부터 닫기까지

오퍼월 내부 구조

JavaScript Bridge 통신

WebView와 네이티브 앱 간의 주요 메시지들:

광고 참여 플로우

임베디드 오퍼월 vs 전체 화면

전체 화면 오퍼월

AdchainSdk.openOfferwall(activity)
  • Activity/ViewController를 새로 생성

  • 전체 화면을 차지

  • 닫기 버튼으로 종료

임베디드 오퍼월

val offerwallView = AdchainOfferwallView(context)
layout.addView(offerwallView)
offerwallView.load()
  • 기존 화면의 일부에 배치

  • 탭이나 프래그먼트 안에서 사용

  • 화면 전환 없이 계속 표시

성능 최적화

첫 로딩 속도

평균 첫 로딩: 2-3초 (네트워크 상태에 따라 다름)

캐싱 전략

  • 정적 리소스: JS, CSS, 이미지 → 로컬 캐시

  • 광고 목록: 60초 캐시

  • 사용자 포인트: 실시간 조회

주의사항

  • 백그라운드로 가면 일시정지됩니다

  • 여러 오퍼월을 동시에 열면 안 됩니다

  • destroy() 또는 cleanup()을 꼭 호출해야 합니다

Last updated