---
title: AdMob
description: >-
  Learn how to install the TapMind AdMob adapter for Flutter, configure AdMob
  mediation, and verify test and live ad fills in your app.
---

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

## Prerequisites

*Performed by: Developer*

* See the [Compatibility Matrix](https://resources.jamdesk.app/reference/compatibility-matrix) for the minimum Android and compile SDK versions for this package.
* Initialize the GMA Next-Gen SDK before install. See [Prerequisites](https://resources.jamdesk.app/guides/prerequisites).


## Install the SDK

*Performed by: Developer*

Ensure your `android/build.gradle` (project-level) includes the required repositories:

```
allprojects {
    repositories {
        google()
        mavenCentral()
        maven { url 'https://jitpack.io' }
    }
}
```

Note: On Gradle 7+, use [Gradle Setup (Gradle 7+)](https://resources.jamdesk.app/guides/gradle-setup) instead - declare repositories in `settings.gradle` under `dependencyResolutionManagement` and remove the `allprojects` block. Use one approach, not both.

### Android

Open the `pubspec.yaml` file.

Find the dependencies block and add:

```
dependencies:
  tapmind_ads_admob_nextgen_flutter: ^1.0.1
  google_mobile_ads: ^9.1.0
```

Note: To use GMA Next-Gen on Android, build with `flutter run --dart-define USE_NEXT_GEN_SDK=true`. See Google's [Install GMA Next-Gen SDK](https://developers.google.com/admob/flutter/android-next).

App ID Configuration:
Ensure the App ID used in the application matches the App ID configured for TapMind in the AdMob mediation/waterfall. Using a different App ID may prevent the TapMind SDK from initializing correctly.

## Configure AdMob

*Performed by: Ad ops*

Refer [AdMob Mediation Integration Setup](https://resources.jamdesk.app/reference/mediation-integration-setup/admob) for the integration.

Refer [Class & Network Key Registry](https://resources.jamdesk.app/reference/class-network-key-registry) for the classnames.

## 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 adapter class names and the LevelPlay network key against the [Class & Network Key Registry](https://resources.jamdesk.app/reference/class-network-key-registry), placementName, placementcode and eCPM/rate with your account manager.

See [Troubleshooting](https://resources.jamdesk.app/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://resources.jamdesk.app/reference/troubleshooting#dashboard-vs-backend-count-discrepancies) in Troubleshooting for details.
