Skip to content
This repository was archived by the owner on Mar 12, 2022. It is now read-only.

Platform setup

Bruno D'Luka edited this page Feb 18, 2021 · 13 revisions
  • Android
  • iOS

AdMOB only supports ads on mobile. Web and desktop are out of reach

Android

Migrate to Embeeding v2

If your flutter app was created before version 1.12, you may need to migrate to embeeding v2, otherwise a message like The plugin native_admob_flutter requires your app to be migrated to the Android embedding v2. Follow the steps on https://flutter.dev/go/android-project-migration and re-run this command. Exited (1) can show up when trying to build the project.

Add your ADMOB App ID (How to find it?) in AndroidManifest.xml. Learn more

<manifest>
  <application>
    <!-- Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 -->
    <meta-data
      android:name="com.google.android.gms.ads.APPLICATION_ID"
      android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy">
  </application>
</manifest>

Key Point: In a real app, it is important that you use your actual AdMob app ID, not the one listed above. If you're just looking to experiment with the SDK in a Hello World app, though, you can use the sample app ID shown above.

Important: This step is required. Failure to add this <meta-data> tag results in a crash with the message: The Google Mobile Ads SDK was initialized incorrectly.

Add the internet permission:

<manifest>
  <application>
    ...
  </application>
  <uses-permission android:name="android.permission.INTERNET" />
</manifest>

Change minSdkVersion

If you'll use NativeAds or BannerAds (Platform View Ads), change minSdkVersion to 19 or higher. It's the minimum sdk version required by flutter to use a PlatformView. Learn more

android {
    defaultConfig {
        minSdkVersion 19
    }
}

If you won't, change it to 16 or higher.

android {
    defaultConfig {
        minSdkVersion 16
    }
}

iOS

iOS is currently not supported (I don't have an Apple environment :/). Feel free to create a pull request with the implementation for it :)

Update your app's Info.plist file to add two keys:

  1. A GADApplicationIdentifier key with a string value of your AdMob app ID (identified in the AdMob UI).
  2. A SKAdNetworkItems key with Google's SKAdNetworkIdentifier value of cstr6suwn9.skadnetwork.
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-3940256099942544~1458002511</string>
<key>SKAdNetworkItems</key>
  <array>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>cstr6suwn9.skadnetwork</string>
    </dict>
  </array>

Or, edit it in the property list editor:

Key Point: In a real app, it is important that you use your actual AdMob app ID, not the one listed above. If you're just looking to experiment with the SDK in a Hello World app, though, you can use the sample app ID shown above.

Important: This step is required. Failure to do so results in a crash with the message: The Google Mobile Ads SDK was initialized incorrectly.

Consider adding a splash screen

To avoid issues such as #7, it's recommended to add a splashscreen to your app.

Useful links:


Next: Initialize
Clone this wiki locally