Integrar el SDK de anuncios de Google para dispositivos móviles en una app de Flutter es el primer paso para mostrar anuncios y obtener ingresos. Una vez que lo hagas, podrás implementar uno o más de los formatos de anuncios compatibles.
El ID de la app que se monetiza mediante AdMob se debe incluir en AndroidManifest.xml.
De lo contrario, se producirá una falla al iniciar la app.
Agrega el ID de la app que se monetiza mediante AdMob, tal como se indica en la interfaz web de AdMob, al archivo android/app/src/main/AndroidManifest.xml de tu app. Para ello, agrega una etiqueta <meta-data> con el nombre com.google.android.gms.ads.APPLICATION_ID.
En el caso de android:value, inserta tu propio ID de app entre comillas, como se muestra a continuación:
Usa el mismo value cuando inicialices el complemento en tu código Dart.
Consulta la guía de Android para obtener más información sobre cómo configurar AndroidManifest.xml y establecer el ID de la app.
iOS
Actualiza el archivo Info.plist
En el archivo ios/Runner/Info.plist de tu app, agrega una clave GADApplicationIdentifier con el valor de cadena del ID de tu app que se monetiza mediante AdMob, tal como se identifica en la interfaz web de AdMob:
Debes pasar el mismo valor cuando inicialices el complemento en tu código Dart.
Consulta la guía para iOS para obtener más información sobre cómo configurar Info.plist y establecer el ID de la app.
Inicializa el SDK de anuncios para dispositivos móviles
Antes de cargar anuncios, haz que tu app inicialice el SDK de anuncios para dispositivos móviles por medio de una llamada a MobileAds.instance.initialize(), que inicializa el SDK y devuelve un Future que finaliza una vez que se completa la inicialización o después de un período de espera de 30 segundos. Llama a initialize() lo antes posible.
// Initialize the Mobile Ads SDK.MobileAds.instance.initialize();
Una vez que importes el SDK de anuncios para dispositivos móviles, podrás implementar un anuncio.
AdMob ofrece una serie de formatos de anuncio diferentes, por lo que puedes elegir el que mejor se ajuste a la experiencia del usuario de tu app.
Banners
Son anuncios rectangulares que aparecen en la parte superior o inferior de la pantalla del dispositivo. Los anuncios de banner permanecen en la pantalla mientras los usuarios interactúan con la app y se pueden actualizar automáticamente después de un período determinado. Si no tienes mucha experiencia con la publicidad para dispositivos móviles, este formato es una excelente opción para comenzar.
Son anuncios de pantalla completa que cubren la interfaz de una app hasta que el usuario los cierra.
Lo más recomendable es usarlos en las pausas naturales del flujo de ejecución de una app, como entre distintos niveles de un juego o justo después de completar una tarea.
Son anuncios que recompensan a los usuarios por mirar videos cortos y por interactuar con encuestas y anuncios con juegos. Son ideales para monetizar a los usuarios de juegos gratuitos.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-02 (UTC)"],[[["\u003cp\u003eThis guide explains how to integrate the Google Mobile Ads SDK into a Flutter app to display AdMob ads and earn revenue.\u003c/p\u003e\n"],["\u003cp\u003ePublishers need to meet prerequisites such as minimum Flutter and Android/iOS versions, and ideally create and register an AdMob account.\u003c/p\u003e\n"],["\u003cp\u003eThe integration process involves importing the SDK, platform-specific setup (Android/iOS), and initializing the Mobile Ads SDK before loading ads.\u003c/p\u003e\n"],["\u003cp\u003eAdMob offers various ad formats including banner, interstitial, native, and rewarded, each with its own implementation guide linked in the document.\u003c/p\u003e\n"],["\u003cp\u003eYou can choose the format best suited for your app and follow the respective guide for detailed implementation instructions.\u003c/p\u003e\n"]]],["Publishers integrating AdMob ads into a Flutter app must first include the Google Mobile Ads SDK plugin. They then update `AndroidManifest.xml` (Android) and `Info.plist` (iOS) with their AdMob app ID. Before loading ads, they initialize the SDK using `MobileAds.instance.initialize()`. Finally, publishers can select an ad format: banner, interstitial, native, or rewarded, based on their app's user experience. The document provides further links for setting up the app and ad formats.\n"],null,["Select platform: [Android](/admob/android/quick-start \"View this page for the Android platform docs.\") [iOS](/admob/ios/quick-start \"View this page for the iOS platform docs.\") [Unity](/admob/unity/quick-start \"View this page for the Unity platform docs.\") [Flutter](/admob/flutter/quick-start \"View this page for the Flutter platform docs.\")\n\n\u003cbr /\u003e\n\nIntegrating Google Mobile Ads SDK into a Flutter app is the first step\ntoward displaying ads and earning revenue. Once you've integrated the SDK, you\ncan proceed to implement one or more of the supported ad formats.\n\nPrerequisites\n\n- Flutter 3.27.0 or higher\n- Android\n - Latest version of Android Studio\n- iOS\n - Latest version of Xcode with [enabled command-line\n tools](//flutter.dev/docs/get-started/install/macos#install-xcode)\n\nImport Google Mobile Ads SDK\n\n- Include the [Google Mobile Ads SDK for Flutter\n plugin](//pub.dev/packages/google_mobile_ads/install) in your Flutter project.\n\nPlatform specific setup\n\n\n| **Important:** Use the latest Google Mobile Ads SDK so that you have access to all the privacy compliance features.\n\n\u003cbr /\u003e\n\nAndroid\n\n**Update AndroidManifest.xml**\n\nThe AdMob app ID must be included in the `AndroidManifest.xml`.\nFailure to do so results in a crash on app launch.\n\nAdd the AdMob app ID, as\n\n[identified in the AdMob web interface](//support.google.com/admob/answer/7356431),\n\nto the app's `android/app/src/main/AndroidManifest.xml` file by adding a\n`\u003cmeta-data\u003e` tag with the name `com.google.android.gms.ads.APPLICATION_ID`.\nFor `android:value`, insert your own app ID in quotes as shown: \n\n \u003cmanifest\u003e\n \u003capplication\u003e\n \u003c!-- Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 --\u003e\n \u003cmeta-data\n android:name=\"com.google.android.gms.ads.APPLICATION_ID\"\n android:value=\"ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy\"/\u003e\n \u003capplication\u003e\n \u003cmanifest\u003e\n\nUse the same `value` when you initialize the plugin in your Dart code.\n\nSee the\n\n[Android guide](/admob/android/quick-start#update_your_androidmanifestxml)\n\nfor more information about configuring `AndroidManifest.xml` and setting up\nthe app ID.\n\niOS\n\n**Update Info.plist**\n\nIn your app's `ios/Runner/Info.plist` file, add a `GADApplicationIdentifier`\nkey with a string value of your AdMob app ID, as\n[identified in the AdMob web interface](//support.google.com/admob/answer/7356431): \n\n \u003ckey\u003eGADApplicationIdentifier\u003c/key\u003e\n \u003cstring\u003eca-app-pub-################~##########\u003c/string\u003e\n\nYou must pass the same value when you initialize the plugin in your Dart code.\n\nSee the\n\n[iOS guide](/admob/ios/quick-start#update_your_infoplist)\n\nfor more information about configuring `Info.plist` and setting up the app ID.\n\nInitialize the Mobile Ads SDK\n\nBefore loading ads, have your app initialize Google Mobile Ads SDK by calling\n[`MobileAds.instance.initialize()`](//pub.dev/documentation/google_mobile_ads/latest/google_mobile_ads/MobileAds/initialize.html)\nwhich initializes the SDK and returns a `Future` that finishes once\ninitialization is complete, or after a 30-second timeout. Call `initialize()`\nas early as possible. \n\n // Initialize the Mobile Ads SDK.\n MobileAds.instance.initialize(); \n https://github.com/googleads/googleads-mobile-flutter/blob/9e63c9ad1459a7bbeeb9465ab3c6e25309f54683/samples/admob/banner_example/lib/main.dart#L229-L230\n\nSelect an ad format\n\nAfter Google Mobile Ads SDK is imported, you're ready to implement an ad.\nAdMob offers a number of different ad formats, so you can choose\nthe one that best fits your app's user experience.\n\nBanner\n\nRectangular ads that appear at the top or bottom of the device screen. Banner\nads stay on screen while users are interacting with the app, and can refresh\nautomatically after a certain period of time. If you're new to mobile\nadvertising, they're a great place to start. \n\n[Implement a Banner ad](/admob/flutter/banner)\n\nInterstitial\n\nFull-screen ads that cover the interface of an app until closed by the user.\nThey're best used at natural pauses in the flow of an app's execution, such as\nin between levels of a game or just after completing a task. \n\n[Implement an Interstitial ad](/admob/flutter/interstitial)\n\nNative\n\nCustomizable ads that match the look and feel of your app. You decide how and\nwhere they're placed, so the layout is more consistent with your app's design. \n\n[Implement a Native ad](/admob/flutter/native)\n\nRewarded\n\nAds that reward users for watching short videos and interacting with playable\nads and surveys. Good for monetizing free-to-play users. \n\n[Implement a Rewarded ad](/admob/flutter/rewarded)"]]