Flutter AdMob Monetization – Banner and Interstitial Ads

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
there are lots of ways to turn a profit from an app one of the most common and effective ones is in-app advertisement google is by far the biggest player in the online advertising game google admob is a service that provides highly personalized ads from over 1 million advertisers along with useful tools and analytics to be used in apps integrating google admob into your flutter apps is absolutely free and as you learn in this tutorial really simple [Music] hello everyone my name is ashley and welcome to resacoder our goal here is to provide top-level education and teach you the skills needed to become an in-demand flutter developer don't forget to subscribe and hit the bell icon so you don't miss a single video let's get started let's take a look at the app we're going to have at the end of this tutorial earlier this year google announced the release of a new google mobile ads for flutter plugin this is the plugin we're going to use to set up the admob ads in this lesson at the end of this tutorial we're going to have a mock news app which will display several ads the ad formats we're going to display will be banner and interstitial if we take a look at the finished app over here you can see we've got an ad at the bottom of the screen this is a banner ad that stays at the bottom of the screen always visible to the user even as we scroll through the page then here we have another banner ad this ad shows up at the position we specify within our list of news articles the last ad our finished project will have is an interstitial ad an interstitial ad is displayed as a full screen overlay when we tap on any of the news articles we will see this ad this is a video ad that we can dismiss after five seconds when the ad is dismissed we will see the news article page and be sure to check out the written tutorial from the link in the description where you can also find all of the code written in this video and go through this lesson at your own pace in this tutorial we'll be working with a starter project it'll have all of the ui elements of the news app pre-made for you so we can just focus on implementing the ads so if you want to follow along remember to grab the starter project from the written tutorial let's take a look at how this project is set up so we know exactly what's going on first let's take a look at the main.dart file here we've just got an app widget which returns a material app and the material app has our homepage widget as its home argument to make the lib folder a little bit tidier we split up the remaining app files into two folders data and presentation let's take a look at the data folder first all we've got here is a news article article.dart file and all this file has is a news article class that takes in a goofy news headline just for fun and an image path into its constructor this class also has a static field which contains a list of news article objects we're using this list to display the mock news articles in our app the image paths we're using here are for the images located inside of the assets folder now let's take a look at the presentation folder over here we've got three files in the homepage.dart file we have a stateful home page widget which returns a scaffold with an app bar and a list view builder in the body this list view builder is what we're using to display these news article tiles over here we're accessing individual news article objects from the static list we just looked at using the current index provided to us by the item builder function then we're displaying a custom article tile widget wrapped inside of a gesture detector and when we tap on the news articles we are taken to the news article page so now let's take a look at the news article page.dart file over here we have a stateless widget which accepts a string title and image path through its constructor this page will dynamically display the article image and headline depending on what article tile from the home page was tapped we won't be working with this page at all it's just here for visual purposes lastly we have a widgets.dart file this file has two custom widgets and its main purpose is to declutter our home page widget tree so here we've got an app bar title and also the article tile which we use to display these article tiles over here before we move on to the next topic let's add the google mobile ads plugin as a dependency to our prospect.yaml let's go to thepopspec.yaml and then over here under the flutter dependency let's add google mobile ads and we're using the latest version at the time version 0.13.3 and let's save that and as always be mindful if you are watching this in the future of any potential breaking changes next we're going to go over creating and setting up your admob account head over to admob.google.com and sign up if you don't have an admob account or sign in if you do you will need a google account to create an admob one once you're signed up you will be taken to your user dashboard if you created a brand new account then from here you can click get started or go to apps in the left sidebar and then click add your first app from here you can create an android or an ios app since we're using flutter you will probably want to create an app for each platform the steps for creating both kinds of apps are exactly the same for our simple demonstration we're just going to create an android app but you can go ahead and create one for ios as well here you'll be asked if your app is listed on a supported app store if it isn't you can select no then click continue now you can choose a name for your app we'll just call it test app over here you can also choose whether or not you want to use metrics if you want to increase your chance of success with admob i would suggest for you to opt in metrics can be used to understand aggregated user behavior in your app such as average session duration and number of active users for a given time period metrics will also provide you with average revenue per user along with other useful data the more data you have the better and more educated decisions you can make about how and where you display your ads once you click add app you'll be all done just remember that your app needs to go through google's approval process before it can show any ads next we're going to go over creating an ad unit when your app is in development you should always use test ad units instead of real ads i cannot stress enough how important this is if you were to use real ads instead of test ones then every time you click on an ad the advertisers would be charged for that click if you click on the ads too many times then google will flag your account for invalid activity and you risk being penalized for this so even though we'll be using test ad units in this tutorial i will still teach you how you can create your own ad units that you can use in a production app you should create a separate ad unit for every activity or location in your app where you want to display the ads this is best practice because it will allow you to track the performance of every ad unit an ad unit sends requests to admob for ads and then displays them in your app for every app you should have a separate set of ad units so if you have an ios and an android app and you want to display a banner ad you need to create a banner ad unit for each app so select either an ios or an android app through the apps menu we only have an android app here and now either click on add ad unit or go to ad units and click get started now from here you can select an ad format for the ad unit you're creating you can choose from a variety of ad units here in our project we'll be using banner and interstitial ads the setup process is pretty much the same for all ad formats except for the rewarded ads when you create a rewarded ad unit you can specify the reward amounts and reward item name which the user receives after watching the ad for this demo go ahead and select banner now from here you can give your ad unit a name we'll just name it test ad units and you can also change any advanced settings if necessary when you click create ad unit you'll be all done when you create an ad unit it may take up to an hour for it to start displaying ads at the end of the setup you will see an app id and an ad unit id these are the values you will use in your production app in this tutorial we'll go over where you need to add these ids in your flutter project also if you want to reference these values in the future you can go to apps and view all apps to get the app ids and to get the ad unit ids you can choose a specific app so here we've got the android app selected and go to ad units now that you know how to create apps and add units in your admob account we can configure our flutter project so it's able to display ads first let's take care of the ios configuration so head over to ios runner and open up the info.plist file and here you're going to need to add some code i'm just going to paste a snippet over here right below this dict tag under the plist tag and you can find this snippet in the written tutorial through the link in the description so here we have a gad application identifier and it holds a string and this string is meant to be your app id for the ios app you created in your admob account for this lesson we're using google sample app id here the other thing we're added here is the sk add network identifier which holds a string as well and this string is not specific to your admob account so you can leave it as is that's all for the ios configuration let's take care of the android one next to configure the android app first we need to make sure that the min sdk version is 19 or higher to prevent us from getting an error to do this go to android app and this build.gradle file over here now scroll down to the bottom to find the min sdk version over here and as you can see we have it set to 16 so we just want to change this to 19 and save this next we need to add a code snippet to the androidmanifest.xml file this file is located in android app source main and here it is the androidmanifest.xml so i'm going to paste this code at the bottom of the file right before this closing application tag you can also find this snippet in the written tutorial so this is a meta tag and the string over here should be the app id for the android app you created in your admob account just like in the ios setup i'm using a sample app id from google here and we're all done the last thing we need to do is initialize the mobile ads sdk head over to the main.dart file and we're going to add some code right above this run app over here so first we're going to say widgets flutter binding dot insurer initialized and right below that we're going to say mobile ads and make sure to import the package here dot instance dot initialize and that's it next we're going to create a class that will help us fetch the appropriate ad unit id based on the ad format we want and the platform the app is running on as we discussed earlier in this project we'll be using test ads and when developing you should always be using test ads there are two ways you can set them up for your project one is to designate the device you're testing on as a test device and this way is more complicated the other way is to use google's designated test ad unit ids that's the ids we'll be using in this project since we're only showing banner and interstitial ads for this app that's the only kinds of ad unit ids we'll need if you want to use test ad units for other ad formats you can find the links to them in the written tutorial from the link in the video description since our flutter app can run on both ios and android we want to be able to dynamically fetch the appropriate ad unit ids to our widgets to make this really easy and clean we're going to create an ad helper class so let's go to the data folder actually we can close all of these files too let's go to the data folder and create a new file here we're going to name it add helper dot dart and here we can use a handy class file snippet to create a class matching our file name now we want this class to have two static getters one for getting the banner ad unit id and the other for getting the interstitial ad unit id let's create the one for the banner ad first so we're gonna say static and it's going to get a string for us get banner at unit id and here we want to check which platform we're currently on so if platform and make sure you don't import platform from dart html instead just add period is android and now you can go here and make sure you import this platform from dart io so if it is an android device we're on then we want to return the following string and this string is the ad unit id from google so this is a test ad unit and you can get this and the other test ad units we're using from the written tutorial okay great now we want to provide the ios ad unit so else if platform that is ios we want to return the following ad unit id okay and lastly if it's neither of these platforms somehow we want to say else and we're going to throw unsupported error and we don't need and we can put a message in here unsupported platform that's it now we want to do the exact same thing but for our interstitial ad so we can honestly just copy this here and then change this name to interstitial ad unit id and then change this unit id for the android one for the interstitial ad and this one for the ios one for the interstitial ad and now we can save this the ad unit we're using here or the ad units we're using here are set up to display a video interstitial ad and that's it now we can finally get to setting up the ads first we're going to add a bottom banner ad so let's set up our first ad this will be a banner ad that will be displayed at the bottom of the screen first we need to add some variables and functions that will be responsible for the logic of displaying the ad let's head over to the homepage.dart file and we can close that and now let's create a late variable that will hold the reference to the banner ad so let's scroll up here and then over here we're going to say late it's going to be of type banner ad and make sure you import the google mobile ads package and we're going to name it bottom banner ad we will initialize this variable in a function we will create soon next we want to be able to check if the ad is loaded before displaying it so let's create a variable of type pool for this and let's do it like this so boom we'll call it is bottom banner add loaded and initially we're going to set it to false that's because when the page loads the ad won't be loaded right away now let's create a function that will create and load the banner ad when it's called so this function is going to return void and we're going to call it create bottom banner add when this function is called we want to set the bottom banner add variable we just created with a banner add object and here we want to provide several things to this banner out object constructor one of which is an ad unit id and here we're going to use the add helper class we created earlier to provide the banner ad unit id so we're going to say add helper and make sure you import the add helper class here so add helper dot banner add unit id next we want to specify the size for this ad and we're going to use ad size dot banner here and if you take a look actually you can provide different sizes here depending on what size you want your ad to be we're going to use banner and banner is going to display an ad that is size 320 by 50 display pixels and to get to see what the other ad sizes are you can check out the pubdev plugin page all right next we need to provide an ad request to the request argument and this object will actually go ahead and request the ad and here we're going to leave this empty but you can also provide a list of keywords if you want to request keyword specific ads then we're going to provide a banner add listener object to the listener argument to listen to the ads lifecycle events and perform some logic when they occur so banner add listener first we're going to set a callback for when an ad is loaded so we're going to use the on add loaded argument for that and here we need to provide a function we don't need the parameter here so we can just put an underscore and here when the ad loads we want to set the is bottom banner add loaded variable to true so we're going to say set state and then set the is bottom banner ad loaded to true we also want to listen to when an ad fails to load using the on add failed to load listener and here we're going to get an add and an error object and what we want to do now is call dispose on this ad when the ad fails to load so we're going to say add the dispose and you should always remember to call dispose over here in this listener so that's everything we're going to listen to in this for this ad but in your own apps you can also listen to other events such as when an ad is open closed or when it receives an impress ad dot load and this method will load the ad then when the ad loads our on add loaded listener callback will fire off and it will set the is bottom banner ad loader to true and then we'll be ready to display the ad in our page now we can call this function we just created from the init state of the home page states so let's go over here and say init state delete this line and then over here we can just call create bottom banner ad perfect and that's because we want the ad to load when the page loads so the one last thing we're going to do is we need to dispose of the ad we create so we're going to do that in the dispose method of the homepage state so we're going to say dispose and override the dispose method here and then below here we're going to use our bottom banner ad and then call dispose on it and that's it now let's incorporate this ad into our widget tree so let's scroll down a bit and we want this ad to be displayed at the bottom of the screen so there are two easy ways we could set this up one is we can provide our add widget to the bottom navigation bar argument of the scaffold and this works great if you don't have a bottom nav but if you do have one you can use persistent footer buttons argument instead and if you use this argument then the ad is going to show up above the bottom navigation bar so our app doesn't have a bottom nav so we're just going to use the bottom navigation bar here and the first thing we want to do is we want to check to make sure the ad is loaded before displaying it so we're going to use our is bottom banner add loaded variable here and if it is true which means the ad is loaded we want to display the ad so you want to make sure that you wrap this ad widget in a container with a fixed height and width if you don't do this the ad is going to take up the entire screen so we're going to return a container here and then if the ad is not loaded we're going to set this argument to null and this is great because the bottom navigation bar value is null by default so we're just not going to see anything if the ad is not loaded now let's provide a height to our container and we're going to use the add size property to get the height so we're going to use our bottom banner ad get its size and from here we're going to get the height we're going to do this and also we need to actually convert this to a double because by default this height property isn't it next we're going to provide the width in the same type of way some bottom banner add dot size dot width dot 2 double and the last thing we're going to do here is provide the child and the child is going to be an ad widget now to this ad widget we need to provide our ad so this is going to be our bottom banner ad awesome and that is pretty much it so i'm going to terminate this app right here save and re-launch this app and there you go so now you should see the ad appearing at the bottom here and even if you're scrolling through the list it still stays at the bottom visible to the user perfect so we're all done with this better ad and next we're going to add another banner ad but this time it's going to show up in between these article tiles showing an inline banner ad is going to require a few extra steps but once we break it down you'll see how simple it is first let's create a variable to represent the index at which we want the ad to be displayed within the list view so let's scroll up here and then right above this bottom banner add variable let's add final inline add index and we're gonna set it to three then like before we're going to create a late variable which will hold the reference to the inline banner ad so we can add it right below this one so late it's going to be of type banner ad again and we're going to call it inline banner ad lastly to check whether or not the ad is loaded let's create a bool variable and initially set it to false just like we did over here so google we're going to call it is inline banner ad loaded and set it to false now just like for the bottom banner ad we need to create a function that will create and load the ad so let's add it below this one it's going to return void and we're going to call it create inline banner add and here we're going to set the inline banner add variable to a banner ad object and here we're going to provide the add unit id using the add helper class so because this is a simple demonstration we're using the same banner ad unit id we used for the bottom banner ad but in production you should have separate ad unit ids for every placement or activity in your app as i mentioned before this is really beneficial because you can track the performance of the individual ad units all right then let's provide a size and for this ad we're going to specify a different size add size dot medium rectangle this will display an ad that is 320 by 250 display pixels then we need to provide an ad request just like we did before all right and also set up the listeners so banner add listener this is pretty much the same as the way we did it before and here we need to provide the on add loaded callback we're not going to use the value in here and here all we want to do is set state and set the is inline banner add loaded to true when the ad loads then we want to set the on add fail to load callback and over here we get access to an ad object and an error object through this callback and all we want to do here is dispose call dispose on this ad to free up some resources now let's add some commas over here for some nice formatting and at the end of this function after we've initialized this variable we want to call load on our banner ad so inline banner add dot load and that's it for this function now just like we did for the bottom banner ad we want to call this function from within the init state so let's do that right below here so create inline banner ad and then we also want to dispose of this ad to free up the resources when they're no longer needed so inline banner ad dot dispose and that's it so now let's work on inserting this ad into the list view we only want to display this ad when it's loaded so let's change up the current list view builder implementation to account for this ad so let's scroll down to our list view builder which is right here and first let's modify the item count if the ad is loaded then it will be added as an item into the list view right now our item count is defined by the length of the list of news articles so if we show an ad then the item count will be increased by one so then let's add if is inline banner ad loaded we want to return one otherwise zero so what's happening here is if the banner ad if the inline banner ad is loaded then we're going to add one to this value and if it's not loaded we're going to add zero so it's just going to stay at this value awesome now let's move on to the item builder function so this one over here and here we want to display an add widget if the current index this index over here is equal to the index where we want to display the add which is this index we defined up here and also if the ad is loaded so let's say if is inline banner ad loaded and index which is this index right here is equal to inline add index then we want to return the add widget wrapped in a container so return container and we're going to give this container some padding because it's going to be displayed within this list view of article tiles so we want to make sure there's some spacing between the add and the next article tile so we're going to save padding edge insets dot only and here we're going to give a bottom padding of 10. and that's it next we're going to give this container a width using the size property of our ad so inline banner add dot size dot width dot to double just like we did in the other ad and then we're also going to give it a height so inline banner add dot size dot height dot to double easy and then we're going to provide a child to this container which will be an ad widget so everything you've already seen before and to this add widget we're going to provide our inline banner ad and let's save this if these conditions return false we want to display an article tile and not the ad so then let's wrap all of the remaining logic here for displaying the article tiles inside of an else block let's find where this ends wrap it inside of some curly braces whoops and then add else here save and there you go and we're almost done but there's one last issue we need to take care of if you take a look over here we're getting the individual news article object from this list using the current index provided to us by the item builder function the problem arises when we display an ad and the item count in the list view builder increases by 1. so let's say we get a third news article so let's say in this list view we get this third news article over here and which is located at the index number two then the next index is three three happens to be the index where we want to display our ad so here the item builder will display the ad based on this logic we've defined the next index provided by the item builder will be four our else block will execute with the index being four and that will get us the fifth news article but that's an issue because we actually want the fourth news article since the last article we displayed was the third one so let's create a simple function that will return the correct index that we can use here to get the correct news articles so let's scroll up to the top above all of these other functions we've created here and over here let's add a function that returns an integer we're going to call it get list view item index and it's going to accept an integer we're going to call this index and here we want to check if index which is this index over here and this is the index we'll get from the item builder is greater than or equal to inline add index which is three in our case and is inline banner ad loaded is true so if this all of this returns true we want to return the index decrements it by one so if the ad is loaded and the index provided by the item builder is greater than or equal to the inline add index then we want to return the index decremented by 1. in the example scenario i spoke of previously if the index we get from the item builder here is 4 then this function will return 3 and that will get us the fourth news article awesome so if this condition returns false then we want the function to return the unmodified index so return index we want the unmodified index if the ad isn't loaded or if we're trying to get the news article objects that have the index value of less than three meaning they are the articles displayed before the ad so that's all for this function now let's go back to the else block and call it from there let's scroll all the way down here's our else block and now here instead of index we want to change this to get list view item index and then here pass in this index which we're getting from the item builder function over here awesome that's it for the inline banner ad so let's save our work restart the app and scroll down and there you go our ad shows up exactly where we intended it to next we're going to implement an interstitial ad now that we know how to display banner ads in two different places in our app let's advance our skills and implement the an interstitial ad due to the nature of interstitial ads the implementation will look pretty different from banner ads interstitial ads are displayed as a full screen overlay as best practice you want to place these ads at natural transition points within your app you shouldn't display these ads when a user is in the middle of an important task because that will just end up frustrating them so remember to always prioritize the user experience for our app we want to see one of these ads when we tap on a news article tile before we show the news article this will be a video interstitial ad and after five seconds the user can dismiss it when the ad is dismissed the article page will become visible we will break down the setup into two parts in the first part we'll load and create an interstitial ad and in the second part we'll set up the logic for showing the ad so first let's create a nullable variable that will hold the reference to our ad so let's scroll up over here and right below these two reference variables let's add a variable that will be of type interstitial ad it will be nullable and we're going to call it interstitial ad now we need to create a function that will load the ad and initialize the variable we just created so let's scroll down over here below these two functions and here it's going to return void and we're going to call it create interstitial ad so for interstitial ads instead of creating an interstitial ad object like we created a banner ad object over here and then initialize the banner add variable with it we need to call load on the interstitial ad class so let's do that so interstitial add dot load and here we can provide several things so here we provide our ad unit id so using the add helper class dot and we're going to use the interstitial ad unit id then the add request so this is similar to what we've done before and over here we're going to need to set up the add load callback and set up the logic for what needs to happen when an ad loads or when an ad fails to load so here we're going to provide a interstitial ad load callback and let's format this and go back here so when an ad loads we're going to specify the on add loaded argument and here we're going to provide a function this function or this callback gives us access to an add object which is going to be the interstitial ad that gets loaded and what we want to do here is initialize our interstitial ad variable with this object so let's do just that so interstitial and equals this add object we get here now let's set up the logic for when an ad fails to load so we're going to add a comma here on add fail to load and here we get a error object now it's important to note that every interstitial ad you load can only be shown once so when an ad fails to load we want to set the interstitial add variable to null that's because when we load one ad we populate this variable with an add object like we do here if we show that previously loaded ad and then try to load another one but that new ad fails to load we don't want to attempt to show the previous ad so to prevent this from happening we set this variable to null when the ad fails to load next if an ad fails to load we would like to try and load another ad so we can just call create interstitial ad from the on add field to load callback now please note that this is not the optimal way of requesting an ad from here because we could end up calling this function indefinitely in case of an unresolvable failure so to prevent this from becoming an issue we want to limit the amount of times we try to reload and add in case of a failure to set this up let's first create a constant for the maximum number of times we want to re-attempt to load an ad so let's go up to the top we can create this constant outside of our class and it's going to be const int we're going to call it max failed load attempts and we're going to set it to 3. then let's add a variable to keep track of how many times we re-attempted loading the ad so we can scroll down here and let's add it over here so we're going to call it int interstitial load attempt and we're going to set it to zero since in the beginning we would have reattempted zero times now let's go back to our create interstitial ad function over here and here every time an ad fails to load we want to increment the interstitial load attempts by one so we can do that over here so interstitial load attempts plus equals 1. then we want to execute this function conditionally so let's wrap this in curly braces and then say if if the interstitial load attempts are greater than or equal oops there we go fixed it are greater than or equal to the max failed load attempts which in our case are is3 then and only then we want to attempt to load a new ad if the load attempts exceed 3 then we don't want to execute this function anymore since something is probably seriously wrong the last thing we want to do here is to reset the interstitial load attempts in case an ad load successfully so let's go up here and then here if the ad did load successfully we can then set the interstitial load attempts to zero now let's call this function from init state because we want this ad to be loaded and ready to be displayed even before the function to show it is triggered so let's go down to our unit state and over here create interstitial ad and the last thing we're going to do here is call dispose on this ad from the dispose method just like we've been doing with the other ads there's the shell add and it's a nullable variable so we have to put this null safe operator here and then call this pose awesome now that we're all done with this let's implement the logic for showing the ad we're going to create a separate function responsible for showing the interstitial ad so let's go up here and then right after this function we'll create it so it's going to return void and we're going to call it show interstitial add we only want to execute the logic in this function if the ad is loaded so we're going to say if interstitial ad does not equal null then we're going to do some stuff then we need to configure the interstitial ads full screen content callback property with a full screen content callback object this will allow us to listen and respond to the ads lifecycle events so let's do just that so interstitial ad and we need to use this bang operator here dot full screen content callback equals full screen content callback let's scroll down a bit so in our case we only care about when an ad is either dismissed or when an ad fails to show full screen content so let's take care of the on add dismissed full screen content first and here we've got a callback function and here we have access to an interstitial ad object so add let's go back here so when the ad is dismissed we want to call dispose on the ad and then we want to call the create interstitial ad function to load a new ad so let's do that so we're going to use this ad object we get here so add dot dispose and then we want to call the create interstitial ad function if you recall this is because an interstitial ad can only be shown once so when we dismiss an ad it means we showed one and now we want to dispose of the old one and load a new one then we're going to specify a callback for the on ad failed to show full screen content one scenario when this event could occur is if somehow we tried to load an ad that was already shown so here we actually get access to two things the interstitial add object and also an add error object so here we want to dispose of the ad and then also request to load a new one so let's do just that add dot dispose and then call the create interstitial add function here as well it is important to remember to call dispose from both of these listener callbacks and you have more events that you can listen to for example you can listen to when an ad receives an impression but we're going to stick to these two for our app the last thing we're going to do here is call the show method on our ad so we're going to say interstitial ad and we need to use the bang operator here because it's a nullable variable and we're going to call show that's it so all this function does is configure the listener callbacks and then shows the interstitial ad that's it for this function and all of the logic now let's go to the gesture detector that wraps our article tiles and call the show interstitial ad function from there so let's scroll down and this is our gesture detector and this is the ontap function so here right before the navigator.push we can add the show interstitial ad function call so now when a user clicks on the tile they will see the ad let's save our work and restart the app so let's see this in action let's click on this article and we see our ad the countdown over here starts from five seconds and when five seconds are up we see this x and we can click on it to dismiss the ad when the ad is dismissed we see the article page now when we go back after showing that ad we request a new one so we can click on another article and we see another ad and again after five seconds we can dismiss this amazing so one more thing i want to add if you want to implement rewarded ads into your app you're in luck because rewarded ads set up is nearly identical to that of interstitial ads the main difference is a callback you need to configure to specify what happens when the user earns a reward so if you check out the official plugin example on pub.dev you can see how it's done and this concludes our tutorial you now know how to set up your admob account implement bottom and inline banner ads as well as interstitial ads remember though placing ads into your code is just one part of successful app monetization how and where you display your ads plays a major role in your ultimate results so make sure you do your research on how to strategically and effectively display ads in your app and don't forget to monitor your ad performance and make use of all the helpful data google provides you with to go through this tutorial at your own pace once again and to get all the code check out the written tutorial available from the link in the description and if you're serious about becoming a great flutter developer who can build real apps for clients or at a job go to flutter.education to get the top curated flutter news and resources aimed at improving your app development career over there you can also subscribe to the mailing list to get the best flutter resources delivered weekly right into your inbox and if you don't want to miss more tutorials like this be sure to subscribe to this channel and join the notification squad by hitting the bell button to make sure you grow your flutter skills because here at risocoder we are determined to provide you with the best tutorials and resources so that you will become an in-demand flutter developer like the video if it helped you leave a comment and see you in the next video [Music] you
Info
Channel: Reso Coder
Views: 8,166
Rating: undefined out of 5
Keywords: resocoder, tutorial, programming, code, programming tutorial, flutter, flutter tutorial, flutter admob banner ad, flutter admob interstitial, flutter ads, flutter ads plugin
Id: MLEOFZoxMxc
Channel Id: undefined
Length: 57min 48sec (3468 seconds)
Published: Sat Sep 04 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.