---
title: Unity LevelPlay
description: >-
  Unity LevelPlay iOS 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*

* See the [Compatibility Matrix](/reference/compatibility-matrix) for the minimum iOS version for this package.
* Your `Info.plist` includes the `SKAdNetworkItems` array for attribution - see [SKAdNetwork IDs](/reference/skadnetwork-ids). Add any IDs you don't already have; a publisher not already running Google demand may be missing them.


## Install the SDK

*Performed by: Developer*

### CocoaPods

1. Open your project's Podfile and add:

```
pod 'TapMindISAdapter', '2.1.12'
```

2. Run `pod install` and open the `.xcworkspace` file.

### Swift Package Manager (SPM)

1. In Xcode: **File → Add Package Dependencies**
2. Add: `https://github.com/tapmind-tech/TapMind-CA-Unity-Levelplay-iOS.git`
3. Add **`-ObjC`** to **Targets → Build Settings → Other Linker Flags**


## Configure Unity LevelPlay

*Performed by: Ad ops*

**Create the TapMind network:** Monetize → Setup → SDK Networks → Available Networks → Manage Networks → select **Custom Adapter** → enter network key **15c11cb1d** → Enter → Save. The network appears as **TapMind**.

![](/images/ironsource-configuration.jpeg)

**Set up instances:** Setup → Instances → select TapMind Marketplace → Add ad instance → select ad type →

```
Instance name : provided by your account manager
placementCODE : provided by your account manager
Mediation Group: Select your target mediation group
Rate : provided by your account manager
```

**Note:** Enter the rate for each placement - it determines waterfall order. Add one instance per ad format to start.

## 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.

**Release build QA:** There is currently no documented release-safe test path to validate R8/ProGuard without serving live ads. Consumer ProGuard rules from the TapMind AAR are applied automatically when you integrate the published adapter packages.

## Troubleshooting

*Performed by: Developer*

Before diving into logs, confirm the LevelPlay network key against the [Class & Network Key Registry](/reference/class-network-key-registry), and `placementName` and eCPM/rate with your account manager.

See [Troubleshooting](/reference/troubleshooting) for common symptoms, mediation-specific fixes, release vs debug guidance, and escalation steps. Partner-specific verification steps are under **Verify integration** above.

**Note:** Mediation dashboards may report higher request or attempt counts for TapMind's line than TapMind's backend actually receives. This is expected mediation-side counting behavior, not an integration issue, see [Dashboard vs. backend count discrepancies](https://docs.tapmind.io/reference/troubleshooting#dashboard-vs-backend-count-discrepancies) in Troubleshooting for details.
