---
title: AdMob
description: >-
  Step-by-step guide to installing the TapMind AdMob adapter in React Native,
  covering Gradle and iOS setup, AdMob configuration, and verifying integration.
---

> **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 iOS versions for this package.


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

Add to `package.json` and install via npm/yarn:

```
tapmind_ads_admob: "2.1.7"
```

Also require `react-native-google-mobile-ads`.

### iOS

Add to `package.json` and install via npm/yarn:

```
tapmind_ads_admob: "2.1.7"
```

Also require `react-native-google-mobile-ads`.

#### Swift Package Manager (SPM)

If the iOS package is installed with Swift Package Manager, also complete this step.

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

Add the following `post_install` hook to your app's Podfile (alongside `use_native_modules!` and `react_native_post_install`):

```ruby
post_install do |installer|
  react_native_post_install(
    installer,
    config[:reactNativePath],
    :mac_catalyst_enabled => false,
  )
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['ENABLE_USER_SCRIPT_SANDBOXING'] = 'NO'
      config.build_settings['CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES'] = 'YES'
      config.build_settings['CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS'] = 'NO'
      config.build_settings['GCC_WARN_PEDANTIC'] = 'NO'
      if target.name == 'fmt'
        config.build_settings['CLANG_CXX_LANGUAGE_STANDARD'] = 'c++17'
      end
    end
  end
end
```

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.
