WebView 직접 연동

애드팝콘 SSP SDK 연동 없이 URL만을 이용하여 연동하고자 할 때 사용되는 가이드입니다.

  • 변경 사항

    • 2025-04-18

      • flutter_webview 환경 내에서의 직접 연동 방식 가이드 추가

    • 2025-02-19

      • 2.2 Interfaces 내, 2.2.5 pushUrl api 설정 추가 및 샘플 코드 내, pushUrl 처리 로직 추가

1. Landing URL 내 파라미터 설정

애드팝콘 SSP 사업팀으로부터 전달 받은 URL에 포함된 매크로를 직접 치환한 뒤, 웹뷰로 URL을 호출해 주어야 합니다. 이벤트 페이지 주소는 팝콘텐츠에 따라 조금씩 다르지만, 파라미터 구조는 동일합니다.

https://reward-webview.adpopcornpopcontents.com/fortune/?userId={USN}&clientSessionId={CLIENT_SESSION_ID}&pageId=1
  • userId : 매체의 앱키와 이벤트 페이지에서 발생하는 리워드를 지급 받을 유저의 unique한 id를 조합하여 id가 생성됩니다. 앱키는 애드팝콘 SSP 사업실로부터 전달 받을 수 있습니다.

    • android, ios

      • {appKey}:{USN}

        • 800296516:test_user_id

  • clientSessionId

    • android

      • adid:{adid}

        • adid:08283f4e-2094-4e96-94e5-5b95b536827d

    • ios

      • idfa:{idfa}

        • idfa:99ED0000-75E0-43BD-BB25-8AE5A61B6437

위 조건에 따라 매크로 치환을 할 경우 아래와 같은 랜딩 URL이 나오게 됩니다.

2. 웹뷰 내 JavascriptInterface 설정

이벤트 페이지의 원활한 동작을 위해 아래 가이드를 참고하여 JavascriptInterface 설정을 진행해 주어야 합니다.

2.1 공통 사항

  • 호출은 nativeBridge 객체로 호출합니다. 이에 아래와 같이 각 OS 환경에 맞게 nativeBridge를 등록해 주어야 합니다. 단, flutter_inappwebview 사용 시에는 nativeBridge가 아닌, 각 func 이름으로 각각 handlerName을 등록해야 합니다.

  • 이벤트 페이지에서 기기별 호출 형식은 아래와 같습니다.

  • 인터페이스에 대한 콜백은 nativeCallback 객체로 호출합니다.

2.2 Interfaces

2.2.1 onPageLoaded()

  • 설명 : 웹뷰가 정상적으로 로드 되었음을 확인합니다.

  • 콜백 : onPageLoaded()가 호출된 이후에 웹뷰 로드 성공 여부를 콜백으로 전달해 주어야 합니다.

2.2.2 finish()

  • 설명 : 현재 웹뷰를 종료합니다.

  • 콜백 : 콜백 없음

2.2.3 openExternalBrowser()

  • 설명 : 외부 브라우저를 엽니다.

  • 콜백 : 콜백 없음

2.2.4 registerBackKeyListener() - AndroidOnly

  • 설명 : 디바이스 back key 동작 여부를 설정합니다. (안드로이드 디바이스에서만 사용됨)

  • 콜백 : 없음

2.2.5 pushUrl()

  • 설명 : 현재 인앱 브라우저의 웹뷰 url을 변경합니다.

  • 콜백 : 없음

  • param

    • url: 변경될 url

    • replace(optional): 현재 인앱 브라우저 웹뷰의 history 스택 쌓을지 혹은 교체할지에 대한 옵션

      • replace는 옵셔널이며 디폴트 값은 false 입니다.

      • replace 값 false인 경우 현재 인앱 브라우저의 history 스택에 변경될 url을 쌓으면서 이동합니다

      • replace 값 true인 경우 현재 인앱 브라우저의 history 스택에 변경될 url로 교체하면서 이동합니다

2.3 광고 클릭에 대한 이벤트 처리 추가

팝콘텐츠 이벤트 페이지 내, 스크립트로 동작하는 광고에 대한 클릭 처리 추가가 필요합니다.

아래 설정이 누락될 경우, 광고 클릭 시, 웹뷰 내에서 광고 페이지로 랜딩됩니다.

특히나, 외부 브라우저로 광고가 넘어가기 전, 실제로 유저의 클릭이 발생했는지에 대한 조건 처리가 필요합니다. 해당 처리가 누락되어 있을 경우 일부 광고에서 유저의 클릭 없이도 외부 페이지로 넘어갈 수 있습니다.

2.4 Sample Code

아래 플랫폼별 샘플 코드는 2.2 Interfaces 구현과 관련된 사항만 간략히 작성해둔 코드이며, 이에 아래 코드를 참고하여 개발 환경에 맞게 세팅하면 됩니다.

Last updated

Was this helpful?