지원 프레임워크
- Electron:
rev-utils헬퍼를 통한 공식 지원 (아래 참조) - Tauri
- NW.js, CEF, Wails, Neutralino 등 Chromium 또는 webview 기반 프레임워크
- webview를 내장한 네이티브 앱: WebView2(Windows), WKWebView(macOS), WebKitGTK(Linux)
데스크톱 요구 사항
- 광고 클릭은 사용자의 기본 브라우저에서 엽니다. 사용자가 광고를 클릭하면 앱 윈도우를 이동시키지 말고 기본 브라우저에서 랜딩 페이지를 여세요. 링크는 실제 클릭이 있을 때만 엽니다. 사용자가 발생시키지 않은 이동과 팝업, 광고가 시작한 파일 다운로드는 차단하세요.
- 표준 브라우저 User Agent를 전송합니다. 많은 프레임워크가 User Agent 문자열에
프레임워크 이름과 앱 이름(예:
Electron/…,MyApp/…)을 추가합니다. 이 부분을 제거해 일반 브라우저와 같은 문자열로 만드세요. 비표준 User Agent는 IVT(무효 트래픽)로 플래그될 수 있습니다.
Electron
rev-utils가 두 가지 요구 사항을 모두 처리합니다.
설치
rev-utils 라이브러리를 설치하여 Electron 설정에 광고 완전 호환성을 추가합니다. 패키지는 수시로 업데이트될 수 있습니다.사용법
new BrowserWindow로 윈도우를 생성한 후, 윈도우와 electron 글로벌을
setupRevUtils에 전달합니다.
main.js
내부적으로
setupRevUtils는 윈도우에 대해 두 가지 함수를 호출합니다setupLinkHandler는 광고를 열고 (악의적인 동작을 차단합니다!)setUserAgent는 User Agent 문자열에서 비표준 부분을 제거합니다. 이는 IVT(무효 트래픽)로 플래그될 수 있습니다.
Tauri
RevIQ 스크립트와 광고 슬롯을 넣은 페이지를 자사 도메인에 만들고(프론트엔드 참고), 표준 User Agent를 보내고 광고 클릭을 사용자의 브라우저에서 여는 자식 webview에 표시합니다.src-tauri/src/ads.rs
Window::add_child는 Tauri의 unstable 기능에 포함되어 있습니다. src-tauri/Cargo.toml의
tauri에서 활성화하세요: tauri = { version = "2", features = ["unstable"] }.src-tauri/src/ads-init.js
src-tauri/src/main.rs
ads webview에 필요한 명령 하나만 허용하세요:
src-tauri/capabilities/ads.json
src-tauri/permissions/open-ad-link.toml
기타 프레임워크
각 프레임워크의 API로 두 가지 요구 사항을 충족하세요. webview에 표준 브라우저 User Agent를 설정하고, 광고 프레임의 링크 클릭과window.open을 실제 클릭 직후에만 시스템 브라우저에서 열도록 하세요.
전체 패턴은 위 Tauri 예시를 참고하세요.
여기에 없는 프레임워크를 사용하시나요? 웹 콘텐츠를 렌더링한다면 작동합니다.
설정에 도움이 필요하면 RevIQ 담당자에게 문의하세요.