ads-mediation-checks: AdMob, AppLovin MAX and LevelPlay; ads-levelplay-checks kept as a pointer
This commit is contained in:
parent
b21e4a0920
commit
205f65828f
2 changed files with 67 additions and 36 deletions
|
|
@ -1,41 +1,10 @@
|
|||
---
|
||||
name: ads-levelplay-checks
|
||||
description: Diagnose and verify ad mediation (Unity LevelPlay / ironSource and its networks like Unity Ads, InMobi, Liftoff, AdMob) in a mobile game before and after store release - app keys, game ids, adapter versions, integration validation, "Invalid Game ID", "Mediation No fill" 509, app-ads.txt, SKAdNetwork ids, ATT, COPPA setting. Use when ads do not load, a network reports invalid/unknown ids, or the user prepares ads for launch.
|
||||
description: Renamed to ads-mediation-checks (AdMob, AppLovin MAX and Unity LevelPlay / ironSource). Kept so existing installs and links keep working. Use ads-mediation-checks for any ad mediation, app-ads.txt, SKAdNetwork or "no fill" question.
|
||||
---
|
||||
|
||||
# Ad mediation checks (LevelPlay)
|
||||
# Ad mediation checks (moved)
|
||||
|
||||
No CLI needed; these are checks to run and read. Ask the owner before changing dashboard settings.
|
||||
|
||||
## Checklist
|
||||
1. **Ids per platform.** LevelPlay app key + ad unit ids for iOS and Android are different; ship production ids only
|
||||
in release builds and use the public demo app keys from Unity's Mediation demo apps during development so real units
|
||||
never see test traffic.
|
||||
2. **Integration.** After init call the SDK's `validateIntegration()`; the device log (Xcode console, Android logcat
|
||||
tag `IntegrationHelper`) must list every network as "Adapter - Version x - VERIFIED". Adapter + network SDK versions
|
||||
must be a pair from Unity's adapter tables / CHANGELOGs.
|
||||
3. **Unity Ads "Invalid Game ID" / iOS "Initialization failed: not found".** Often account-side, not code: compare
|
||||
`https://publisher-config.unityads.unity3d.com/games/<gameId>/configuration` for your id with Unity's demo id
|
||||
`14851` (which answers with a config). If yours 404s or is empty, the Unity Ads project / game id is not set up or not
|
||||
linked to the LevelPlay app: fix it in the Unity dashboard (Monetization > Projects > the game ids, and the LevelPlay
|
||||
network setup using exactly those ids).
|
||||
4. **509 "Mediation No fill"** before launch is normal: the LevelPlay app is not live / not linked to store URLs. After
|
||||
both listings are public, set the store URLs in the LevelPlay dashboard.
|
||||
5. **app-ads.txt** (checked by `storebound validate --play` when `ads.appAdsTxt` lists your lines) on the root of the developer website named in both listings (`https://<domain>/app-ads.txt`):
|
||||
`OWNERDOMAIN=<domain>`, the LevelPlay DIRECT line with your publisher id, and each network's lines (Unity's
|
||||
"App-Ads.txt" doc page lists them). Re-sync now and then. The listing website must match the domain exactly.
|
||||
6. **iOS**: SKAdNetwork ids of every network in Info.plist (refresh from each network's official list when adding one),
|
||||
`NSUserTrackingUsageDescription`, ATT prompt before the ad SDK starts, `-ObjC` linker flag if the SDK requires it.
|
||||
Every network SDK and adapter must ship a privacy manifest (PrivacyInfo.xcprivacy): `storebound privacy-manifest
|
||||
--ios ios/App` lists SDKs without one (`privacy-manifest` skill); update them before uploading.
|
||||
7. **Android**: `AD_ID` permission (declared in Play's advertising ID form), network SDKs listed explicitly when the
|
||||
adapter artifacts declare no dependencies.
|
||||
8. **Privacy**: COPPA "not directed at children" unless the app is for kids; EU / UK / CH consent (CMP) or
|
||||
non-personalized ads; Data safety + App Privacy list the ad data as shared / tracking (`store-declarations`).
|
||||
9. **Placement sanity**: no ads in the first sessions / levels, never mid-round, rewarded always optional; reviewers
|
||||
test the first minutes.
|
||||
|
||||
## Gotchas
|
||||
- Adding Google AdMob needs its app id first: the adapter crashes at launch without the manifest / Info.plist id.
|
||||
- Test ads on real units can get the account flagged: use demo ids or registered test devices.
|
||||
- A network failing to init does not break mediation; the others still fill once the app is live.
|
||||
This skill is now **`ads-mediation-checks`**: the same LevelPlay checks (validateIntegration, "Invalid Game ID", 509 no
|
||||
fill, app-ads.txt) as a section, plus Google AdMob (Ad Inspector) and AppLovin MAX (Mediation Debugger). Open
|
||||
`skills/ads-mediation-checks/SKILL.md` and follow it.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue