← ClaudeAtlas

adpolicylisted

광고 정책 게이트 — 무효 트래픽(디버그/릴리스 광고 단위)·첫 세션 보호·동의 순서·타게팅 신호 일관성을 판정한다. 트리거 "광고 단위", "테스트 광고", "UMP", "동의", "무효 트래픽", "첫 세션 전면".
snwlee/Nereus · ★ 2 · AI & Automation · score 75
Install: claude install-skill snwlee/Nereus
# adpolicy nereus:common 규칙을 따른다. 담당 에이전트: ads-engineer. **엔진·프레임워크와 무관하다** — Flutter 든 Unity 든 네이티브든 정지 사유는 같다. 광고는 **가장 위험하고 가장 조용한 코드**다. 정책을 어기면 계정이 정지되고, 정지는 그 앱 하나가 아니라 **계정에 달린 앱 전부**를 멈춘다. 그리고 어기는 순간에는 아무 에러도 나지 않는다 — 빌드는 초록이고 광고는 잘 보인다. ## 0. 이 스킬은 게이트다 | | 이 스킬(`adpolicy`) | `adrevenue` | |---|---|---| | 낸다 | `violations` | `levers` · `unanswerable` | | 뜻 | 정지 위험. 고치지 않으면 안 된다 | 돈을 더 벌 여지. 사업 판단이다 | | 검사기 | `lib/ad-policy-check.mjs` | `lib/ad-funnel.mjs` | `Ruling: 게이트와 조언자는 파일을 나눈다` 의 적용이다. 한 곳에서 같이 내면 "정지 위험"이 "배너 단가 좀 낮음" 옆에 나란히 붙어 진짜가 묻힌다. ## 1. 원칙 — 안전 처방은 노출을 줄이지 않는다 `Ruling: 광고 안전 처방은 노출을 줄이지 않는 형태여야 한다.` "전면 광고를 덜 띄우세요"는 지켜지지 않는다. 수익이 바로 떨어지는 것이 보이기 때문이다. 지켜지지 않는 게이트는 **꺼진다**. 그래서 이 스킬의 모든 처방은 **무엇을 언제 어떤 단위로** 바꿀 것인가이지, 몇 건을 포기할 것인가가 아니다. 첫 세션 보호만이 예외로 보이지만 그것도 아니다 — 첫 세션은 **어차피 수익이 안 난다**. 미루면 D1 리텐션이 오르고, 오른 리텐션이 둘째 세션부터 노출을 더 만든다. 양쪽으로 이득이다. ## 2. 상태를 JSON 으로 적는다 축은 전부 **선택**이다. 주지 않은 축은 **검사하지 않는다** — 모르는 것과 통과한 것을 같게 보고하면 검사되지 않은 것이 통과로 읽힌다. ```json { "build": { "debug": false }, "units": [{ "format": "interstitial", "platform": "android", "resolvedId": "ca-app-pub-…/…" }], "plan": { "formats": ["interstitial", "rewarded"] }, "session": { "launchCount": 0, "protectionEnabled": true }, "consent": { "initBeforeConsent": false, "skippedForConsent": ["fixedBanner"], "retryRegistered": ["fixedBanner"] }, "targeting": { "fixedBanner": { "keywords": ["wallpaper", "kpop"], "contentUrl": "https://example.com" }, "rewarded"