← ClaudeAtlas

monetization-sdk-integrationlisted

Use when adding, upgrading, or auditing a third-party monetization SDK (AdMob / Google Mobile Ads, UMP consent, mediation networks, RevenueCat), or when a PR adds `import GoogleMobileAds` outside the single live-bridge file, breaks `canImport` / `.when(platforms: [.iOS])` gating, or lands without a Fake bridge. Owns the break-glass admission test, single-import-site isolation contract, and test seam. Does not cover native StoreKit 2 IAP (storekit2-iap-defaults), production ID storage (build-time-secret-injection), or App Review consequences (app-store-review-rejections).
wei18/apple-dev-skills · ★ 19 · AI & Automation · score 78
Install: claude install-skill wei18/apple-dev-skills
# Monetization SDK Integration ## When to invoke - Adding a new monetization SDK (AdMob, ATT, UMP, AdMob mediation networks, RevenueCat, etc.) - Upgrading existing AdMob / UMP versions (e.g. v11 → v13) - Auditing PR diff that touches the monetization target's ad-bridge sources (e.g. `Sources/<AdsBridge>/`) - Cross-platform SDK questions (iOS only? macOS catalyst? watchOS?) - Anyone proposing "let's just `import GoogleMobileAds` over here too" — IMMEDIATE invoke Skip when: changing pure values / protocols inside the monetization core target (no third-party touch). ## The contract Default rule: **no third-party SDKs** in the app. Apple-platform native APIs preferred (OSLog over Sentry, MetricKit over Firebase Crashlytics, GameKit over Steam-style backend, etc.). **Break-glass exception** is granted when ALL of: 1. The capability genuinely requires the SDK (no Apple-native alternative); e.g. AdMob banner serving has no Apple-platform equivalent 2. The SDK is shippable under the project's privacy regime (PrivacyInfo.xcprivacy supports its tracking domains) 3. The SDK's import is isolated to a SINGLE source file behind a protocol seam (see §isolation contract below) 4. The dep arrow is one-way (consumer → SDK; the SDK does not call back into the host app's code beyond delegate/callback bridges) 5. iOS-only conditional compile gating (`canImport`) — macOS / Catalyst paths must build without the SDK If any of (1)-(5) fails: deny. Reject the SDK proposal; suggest Apple-native