Skip to main content
Version: v2.0

PremiumAds AppLovin MAX Adapter — Flutter

Integrate PremiumAds as a mediation ad source in your Flutter app using the official applovin_max plugin.

Supported formats: Banner, MREC, Interstitial, Rewarded, Native

App Open is not supported by the PremiumAds MAX adapter.

Prerequisites

  • Flutter with Dart SDK compatible with applovin_max ^4.0.0
  • applovin_max plugin, already integrated

1. Add the Plugin

Add the PremiumAds adapter to your pubspec.yaml:

dependencies:
applovin_max: ^4.0.0
premium_ads_max: ^1.0.0

Then run:

flutter pub get

Or install via command line:

flutter pub add premium_ads_max
Alternative: install from Git
dependencies:
premium_ads_max:
git:
url: https://github.com/premium-ads/max-adapter-flutter.git
ref: v1.0.0

pub.dev: https://pub.dev/packages/premium_ads_max

2. Native Dependencies (Automatic)

The plugin pulls native binaries automatically — no manual setup needed:

  • Android: net.premiumads.sdk:max-adapter — the plugin's build.gradle injects the PremiumAds Maven repository automatically.
  • iOS: PremiumAdsMaxAdapter pod from CocoaPods trunk (requires AppLovin MAX SDK 13.0+).

After flutter pub get, run on iOS:

cd ios && pod install && cd ..

3. Configure the MAX Custom Network

In the AppLovin MAX dashboard, add PremiumAds as a Custom Network and configure a Custom Adapter for each ad unit:

PlatformFieldValue
BothNetwork NamePremiumAds Custom Adapter
AndroidAdapter Class Namenet.premiumads.sdk.adapter.max.PremiumAdsAdapter
iOSAdapter Class NamePremiumAdsAdapter
BothPlacement / ParameterYour PremiumAds ad unit ID

The same adapter class works for Banner, MREC, Interstitial, Rewarded, and Native ad formats.

4. Load Ads

The adapter is invoked automatically by the AppLovin MAX SDK — no extra code needed beyond installing this plugin. Use the standard applovin_max API:

import 'package:applovin_max/applovin_max.dart';
import 'package:premium_ads_max/premium_ads_max.dart';

void main() async {
WidgetsFlutterBinding.ensureInitialized();

// Optional: enable debug logging
await PremiumAdsMax.setDebug(true);

await AppLovinMAX.initialize('YOUR_SDK_KEY');
runApp(const MyApp());
}

5. Debug Logging (Optional)

Enable verbose debug logging from the PremiumAds adapter:

import 'package:premium_ads_max/premium_ads_max.dart';

await PremiumAdsMax.setDebug(true);

Filter logs:

  • Android Logcat: tag:PremiumAdsAdapter
  • iOS Xcode console: [PremiumAdsAdapter]

6. Build & Run

Android

flutter run -d android

iOS

cd ios && pod install && cd ..
flutter run -d ios

Source Code

Troubleshooting

Build fails on iOS with missing PremiumAdsMaxAdapter:

cd ios && pod install --repo-update

Build fails on Android with missing AAR: Add the PremiumAds Maven repository to android/build.gradle if not auto-resolved:

allprojects {
repositories {
maven { url 'https://repo.premiumads.net/artifactory/mobile-ads-sdk/' }
}
}

New ad units / waterfall changes don't take effect immediately: Changes to ad units or waterfall configuration in the MAX dashboard take 30–60 minutes to propagate.

Ads never load / NO FILL (HTTP 204): A NO FILL response means the waterfall has no eligible line item for the requesting app/device — check that your ad unit has active demand and that the app's bundle/package ID matches the app configured in the MAX dashboard.

Adapter not initialized: Verify the custom network class names in the MAX dashboard match exactly:

  • Android: net.premiumads.sdk.adapter.max.PremiumAdsAdapter
  • iOS: PremiumAdsAdapter

Documentation

Support

Contact your PremiumAds account manager or email [email protected]