---
title: AppLovin
description: >-
  AppLovin cocos guide for Custom Adapter GMA SDK.
---

> **For AI agents:** the complete documentation index is at [llms.txt](/llms.txt). Append `.md` to any page URL for its markdown version.

## Prerequisites

*Performed by: Developer*

**App prerequisites**

* minSdkVersion of «MIN-ANDROID» (26) or higher
* iOS «MIN-IOS» (18.0) or higher — confirm with your account manager
* An ad unit must already be in place which will be used for targeting

## Install the SDK

*Performed by: Developer*

Install the TapMind AppLovin extension:

**Extension → Extension Manager → Install from File** → select the TapMind extension ZIP → **Enable**.

Pin a tagged release ZIP rather than `archive/refs/heads/main.zip`.

## Configure your app

*Performed by: Developer*

Add your AdMob app ID to `AndroidManifest.xml`. Omitting this crashes the app on launch with `Missing application ID`.

```
<manifest>
  <application>
    <!-- Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 -->
    <meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="YOUR_ADMOB_APP_ID"/>
  </application>
</manifest>
```

Replace `YOUR_ADMOB_APP_ID` with your AdMob app ID from the [AdMob web interface](https://support.google.com/admob/answer/7356431). While testing, you may use Google's sample app ID shown above.

Add `GADApplicationIdentifier` to your app's `Info.plist`, plus the `SKAdNetworkItems` array for attribution.

```
<key>GADApplicationIdentifier</key>
<!-- Sample AdMob app ID: ca-app-pub-3940256099942544~1458002511 -->
<string>YOUR_ADMOB_APP_ID</string>
<key>SKAdNetworkItems</key>
<array>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>cstr6suwn9.skadnetwork</string>
  </dict>
  <!-- Include the full SKAdNetworkItems list (Google + third-party buyer IDs) -->
</array>
```

Replace `YOUR_ADMOB_APP_ID` with your AdMob app ID from the [AdMob web interface](https://support.google.com/admob/answer/7356431).

Include the complete `SKAdNetworkItems` list as [published by Google](https://developers.google.com/admob/ios/3p-skadnetworks) — keep this snippet as your single source of truth so it never drifts between pages.

## Configure AppLovin

*Performed by: Ad ops*

**Create the custom network:** MAX → Mediation → Manage → Networks → **Add a Custom Network** → Network type SDK →

```
Custom Network : TapMind Market Place
Android Class  : com.tapmind.tech.TapMindMediationAdapterApplovin
iOS Class      : TapMindMediationAdapterApplovin
```

**Add the yield partner:** MAX → Mediation → Manage → Ad Units → select your ad unit → enable TapMind → enter:

```
App ID             : leave blank (optional)
Placement ID       : provided by your account manager
eCPM               : provided by your account manager
Custom Parameters  : "placementName": "provided by your account manager"
```

**Warning:** **placementName** must match exactly — case-sensitive, no leading/trailing spaces. A mismatch fails silently (no error, no fill).

## Verify integration

*Performed by: Developer*

After install and dashboard configuration:

1. Run your app in a **debug** build. TapMind's test mode is enabled automatically in debug builds and serves test ads at a high fill rate.
2. Request an ad through your mediation SDK as you normally would.
3. Confirm a TapMind ad fills. Check logs for the tag **`TapMindAdapter`**.
4. When verified, build in **release** mode for production — test mode is disabled automatically in release builds, and live ads serve.

**Note:** Test mode is automatic. It follows your build type: debug = test ads, release = live ads. There is no flag to enable or disable, and nothing to turn off before going live.

## Troubleshooting

*Performed by: Developer*

| Symptom | Likely cause | Fix |
|---------|--------------|-----|
| No TapMind ad in production, but works in debug | Wrong/missing class string, or release-build stripping | Verify the class string matches the [Class & Network Key Registry](/reference/class-network-key-registry) exactly; confirm ProGuard keep-rules ship |
| No fill at all | `placementName` mismatch (case/space) or wrong eCPM position | Re-check `placementName` exactly; confirm waterfall position |
| App crashes on launch | Missing AdMob app ID in manifest/Info.plist | Add the app-ID meta-data exactly as shown in **Configure your app** |
| LevelPlay network never appears | Wrong network key | Use the canonical key from the Registry |

For anything else, contact your account manager with the log output and the tag **`TapMindAdapter`**.
