Skip to content

[πŸ›] Mediation adapters does not work with Expo configΒ #811

@douglasndm

Description

@douglasndm

What happened?

I have setup Mediation adapters as said on documentation but it looks like it not working on Expo 54

Ad Inspector says that adapter was not found and SDK is not ready.

Image

I used the official Google Docs for this adapter for substitute the dependencies from example.

Here's what my plugins in app.config.ts looks like
[ 'expo-build-properties', { android: { dependencies: ['com.google.ads.mediation:vungle:7.5.1.0'], }, ios: { useFrameworks: 'static', deploymentTarget: '15.5', forceStaticLinking: ['RNFBApp'], extraPods: [ { name: 'GoogleMobileAdsMediationVungle', }, ], }, }, ],

I don't have any builds problems, but it still don't work, I when I open the native generated files from expo prebuild a noticed that dependencies were not injected

Image

Platforms

Android and iOS

React Native Info

System:
  OS: macOS 26.0.1
  CPU: (8) arm64 Apple M1 Pro
  Memory: 143.94 MB / 16.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 22.20.0
    path: ~/.nvm/versions/node/v22.20.0/bin/node
  Yarn: Not Found
  npm:
    version: 11.6.2
    path: ~/.nvm/versions/node/v22.20.0/bin/npm
  Watchman:
    version: 2025.10.13.00
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.16.2
    path: /opt/homebrew/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 25.0
      - iOS 26.0
      - macOS 26.0
      - tvOS 26.0
      - visionOS 26.0
      - watchOS 26.0
  Android SDK:
    API Levels:
      - "29"
      - "31"
      - "33"
      - "34"
      - "35"
      - "36"
    Build Tools:
      - 29.0.2
      - 30.0.3
      - 33.0.0
      - 33.0.1
      - 34.0.0
      - 35.0.0
      - 35.0.0
      - 36.0.0
      - 36.0.0
    System Images:
      - android-33 | Google APIs ARM 64 v8a
      - android-33 | Google Play ARM 64 v8a
      - android-35 | Google Play ARM 64 v8a
    Android NDK: Not Found
IDEs:
  Android Studio: 2025.1 AI-251.27812.49.2514.14217341
  Xcode:
    version: 26.0.1/17A400
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.16
    path: /usr/bin/javac
  Ruby:
    version: 2.6.10
    path: /usr/bin/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 19.1.0
    wanted: 19.1.0
  react-native:
    installed: 0.81.4
    wanted: 0.81.4
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: true
iOS:
  hermesEnabled: true
  newArchEnabled: true

Are your using Typescript?

  • My project is using Typescript

package.json

{
	"name": "name",
	"private": true,
	"type": "module",
	"main": "src/main.tsx",
	"scripts": {
		"android": "expo run:android",
		"ios": "expo run:ios",
		"start": "watchman watch-del-all && npx expo start",
		"lint": "eslint .",
		"dead-code": "npx ts-prune ./src | grep -v 'used in module'",
		"build:android": "eas build --platform android --profile production --local",
		"build:ios": "eas build --platform ios --profile production --local"
	},
	"dependencies": {
		"@bwip-js/react-native": "^4.7.0",
		"@react-native-async-storage/async-storage": "^2.2.0",
		"@react-native-community/blur": "^4.4.1",
		"@react-native-community/hooks": "^100.1.0",
		"@react-native-community/netinfo": "^11.4.1",
		"@react-native-community/slider": "^5.0.1",
		"@react-native-firebase/analytics": "^23.3.1",
		"@react-native-firebase/app": "^23.3.1",
		"@react-native-firebase/app-check": "^23.3.1",
		"@react-native-firebase/auth": "^23.3.1",
		"@react-native-firebase/firestore": "^23.3.1",
		"@react-native-firebase/messaging": "^23.3.1",
		"@react-native-firebase/storage": "^23.3.1",
		"@react-native-masked-view/masked-view": "^0.3.2",
		"@react-native-picker/picker": "^2.11.1",
		"@react-navigation/elements": "^2.6.4",
		"@react-navigation/native": "^7.1.17",
		"@react-navigation/native-stack": "^7.3.26",
		"@react-navigation/stack": "^7.4.8",
		"@sentry/react-native": "^7.2.0",
		"axios": "^1.12.0",
		"date-fns": "^4.1.0",
		"eas-build-cache-provider": "^16.4.2",
		"expo": "^54.0.13",
		"expo-build-properties": "~1.0.9",
		"expo-clipboard": "~8.0.7",
		"expo-constants": "~18.0.9",
		"expo-dev-client": "~6.0.15",
		"expo-device": "~8.0.9",
		"expo-document-picker": "~14.0.7",
		"expo-file-system": "~19.0.17",
		"expo-glass-effect": "^0.1.4",
		"expo-image-manipulator": "~14.0.7",
		"expo-image-picker": "~17.0.8",
		"expo-localization": "~17.0.7",
		"expo-notifications": "~0.32.12",
		"expo-screen-orientation": "~9.0.7",
		"expo-splash-screen": "~31.0.10",
		"expo-updates": "~29.0.12",
		"lottie-react-native": "^7.3.3",
		"polished": "^4.3.1",
		"react": "19.1.0",
		"react-dom": "19.1.0",
		"react-native": "0.81.4",
		"react-native-check-version": "^1.4.0",
		"react-native-context-menu-view": "^1.19.0",
		"react-native-currency-input": "1.1.1",
		"react-native-device-info": "^14.0.4",
		"react-native-dialog": "^9.3.0",
		"react-native-drawer-layout": "^4.1.13",
		"react-native-flash-message": "^0.4.2",
		"react-native-gesture-handler": "2.28.0",
		"react-native-google-mobile-ads": "15.7.0",
		"react-native-html-to-pdf": "^1.3.0",
		"react-native-image-picker": "^8.2.1",
		"react-native-in-app-review": "^4.4.2",
		"react-native-keychain": "^10.0.0",
		"react-native-linear-gradient": "^2.8.3",
		"react-native-localization": "^2.3.2",
		"react-native-localize": "^3.5.2",
		"react-native-paper": "^5.14.5",
		"react-native-permissions": "5.4.2",
		"react-native-purchases": "9.2.2",
		"react-native-purchases-ui": "9.2.2",
		"react-native-reanimated": "^4.1.2",
		"react-native-safe-area-context": "^5.6.1",
		"react-native-screens": "4.16.0",
		"react-native-share": "^12.2.0",
		"react-native-ui-datepicker": "^3.1.2",
		"react-native-uuid": "^2.0.3",
		"react-native-vision-camera": "^4.7.2",
		"react-native-worklets": "^0.5.1",
		"react-native-zip-archive": "^7.0.2",
		"react-number-format": "^5.4.4",
		"realm": "^12.15.0",
		"styled-components": "^6.1.19",
		"xlsx": "^0.18.5",
		"xml-js": "^1.6.11",
		"yup": "^1.6.1"
	},
	"devDependencies": {
		"@react-native/eslint-config": "^0.81.1",
		"@tsconfig/react-native": "^3.0.0",
		"@types/react": "^19.1.12",
		"babel-plugin-module-resolver": "^4.1.0",
		"babel-plugin-react-compiler": "19.1.0-rc.2",
		"eslint": "^8.19.0",
		"eslint-config-prettier": "^6.11.0",
		"eslint-plugin-prettier": "^3.1.4",
		"eslint-plugin-react": "^7.37.5",
		"eslint-plugin-react-hooks": "^5.2.0",
		"prettier": "2.8.8",
		"react-native-typescript-transformer": "^1.2.10",
		"tsx": "^4.20.5",
		"typescript": "^5.9.2"
	},
	"engines": {
		"node": ">=20"
	},
	"pnpm": {
		"patchedDependencies": {
			"[email protected]": "patches/[email protected]"
		}
	},
	"packageManager": "[email protected]+sha512.bbd16e6d7286fd7e01f6b3c0b3c932cda2965c06a908328f74663f10a9aea51f1129eea615134bf992831b009eabe167ecb7008b597f40ff9bc75946aadfb08d"
}

app.json

plugins: [
...
[
		'expo-build-properties',
		{
			android: {
				dependencies: ['com.google.ads.mediation:vungle:7.5.1.0'],
			},
			ios: {
				useFrameworks: 'static',
				deploymentTarget: '15.5',
				forceStaticLinking: ['RNFBApp'],
				extraPods: [
					{
						name: 'GoogleMobileAdsMediationVungle',
					},
				],
			},
		},
	],
]

ios/Podfile

android/build.gradle

android/app/build.gradle

android/settings.gradle

AndroidManifest.xml

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions