interstitial mobile ads
Published on: January 31 2023 by pipiads
Table of Contents About interstitial mobile ads
- Flutter Interstitial Ads from Google AdMob Step by step Full Flutter tutorial
- Apps Earning: Which Mobile Native Ad Type To Choose To Earn More ? Banner or Rewarded?| ThingsToKnow
- AdMob Interstitial Ads - Mobile Ads Garage #4
- Fullscreen Admob Interstitial Ad in iOS - Xcode 12 - Swift 5 2021 (Under 10 Mins!! )
- What are Interstitial Ads? | Best Practices, Tips and Benefits
- Fullscreen Interstitial Ad in App (Swift 5) - Xcode 11 - 2020 - iOS, Admob
Flutter Interstitial Ads from Google AdMob Step by step Full Flutter tutorial
account. let's create a new project, so let's go to file. then a new, new flutter project, click next type of the name, the company name, creative language. finish. let's quote: go to this file. now we want to add the plugin, so go to dependency, Adam and the. this plugin, yeah, now click public- gets to get to the plugin to our project. make sure you have the internet connection. let's go so close this. after that, for opening the Android package, yeah, any up source name. now. so below this, for this time we want to use the, the sample app ID. so in order to do to have the application ID we need to, we need to go to Google admobs and they create our application and then you type Adamo, like that. okay, go to list, add them up and if you have no account, click sign up and if you have the account, click a saying again in here, go to apps. so if for the first time you will need it to start the app and select the platform, any declare if we want to see in the play store or App Store. if it is not available, see, go to app settings and you will find it here. see right there by the. so you copied and then so you replace this with the ID that we have created. Okay, click Addy, add the unit and select the unity. okay, then you will have the ID for the add unit. okay, that's good. so after that can you close this? let us Zoom here. so let's clear this. so after clearing that, the top here, let us input this plugin to our project and then initialize the SDK before doing anything in this same main methods. so let's say with this, that's a binding, this one here, ensure initialized. and then now we can initialize the mobile ads dot C instance initialize. okay, that's good, now you can set the title to our project. it sets flatter, we'll go. okay. now let's go to our page: statik class. so here of members, or let us Define the add the station, Define interstitial add units ID and then make it equal to when using this as a simple add unit ID for editing up. make sure you change this energy, use your ad units as we have seen from the browser of admob. okay, we have to load our heart. so we are going to use initial States methods and say voids, finish, that's it. so in here, like to call Super the initial, like that. so let us make this method a private fantastik show so we can put the castle over here. and then it creates, go to action, creates methods like this, so move it to top, like here. okay, in this method we are going to use a statik load method of interstitial ads. this here now I would say once is I'm gonna remove all of them, like this, and then it I want to specify the add units ID and the, for this is a, the interstitial identity as we Define the above and then specify the request. now we pass a request is called the add request here, like that, under any defining, add, the load, the Callback. now we are going to pass this as usual. we are going to remove all of them, put determination over there and the in here it was defined on eroded. now let us passed a method which takes the interstitial arguments, called this ads, like that, and then in here put the Terminator. so we want to let us keep a reference. they add, as you will show it later. let us say interstitial ads, remember that we defined, remember, Define, remember this one. so after loading the ad, now we want to keep to avoid this saved. so we are going to call this, add this, but here and then we can insert the onitial content, callback, Define private method called this: set full screen contact callback. and we are going to pass the ad. we can Define here this method: like for it any set full screen once they add it is the interstation adds for this ads like that. and we are coming to do the job here. also we Define a method Plus Ella, I call this a loader at the L, like that. so simple thing here is that if the ad has failed, now we are going to complete just like a notification, that's the station add field to load, and then you can pass the error like we're calling okay, because of the ad, this add here. so we are going to use it. what we're going to say? we're gonna say add Dot, phone screen content like that it's going to be equal to, and then a minute like this. so in here we wanted to Define only hard to show the full screen content, this one okay. so I wanted just to pass a method and this: okay, let's see, uh, any interstation is a parameter. and then you say Lambda to print some text like add, only are they dismissed. it's an argument called this: ad, just the bridge now we have to dispose, they dismiss the art. so I'm going to say add or dispose that. okay. now let us Define another callback and this is going to be only undefendi, full screen content and defaulty. and as usual, let us Define a method: pass C on your heart. and another one: we pass the adhela. see that, just print it's gonna pass the L. let us Define the last thing on the hard inflation. as usual I'm gonna Define my methods here because interstitial artikle to add detected, like that. I like the thing. yeah, I wanted to define a method that is going to help us to show this ad. so add and Augmentin it, just the call, like that. in here I want to Define a chart switch and use a peak well, so that we can detect the top defined on top and we call show ads like that. so any, the user Taps on it. you want to show, to call, show interest, to show the ad which is interstitial at this method here. okay, that's good. so next we just wanna Define gray chart and use the container. so in this container I'm going to set some padding, go to trends. you can define the eight. it's just the button, the color. so now I'm gonna use colors and the depot pop up like that. the last thing I want to Define is a, a cherry witch and say I'm gonna use text and if in here I want pass text, and then I Define the style after that, it does learn the application. okay now, you see, this is the button here, so when you click on it, we expect you to see the ad. okay, see, this is a full screen ad which is Anita station and by admob in a flat application. okay, so when you click like this, it must take you there. also, you might dismiss it like that. okay. okay, this is good. so if you found this useful, please subscribe to the channel for the next ad. these are simple things that can be done by anybody, okay.
Apps Earning: Which Mobile Native Ad Type To Choose To Earn More ? Banner or Rewarded?| ThingsToKnow
nowadays, you can see four types of mobile ad types: rewarded video, banner, rich interstitial video interstitial. before we go further, we need to discuss about it. so what is it? Eckman means effective cost per mile. it is the calculation of the total ad revenue generated by your apps per 1000 ad impressions. hike means more money to developer. let's tok about these ad types first. rewarded video ads are full screen video ads that users have the option of watching in full in exchange for in-app rewards. banner ads are rectangular image or text ads that occupy a spot within an app's layout. it stays on screen while users interact with apps. rich interstitial ad includes advanced features like video, audio or other elements that encourage viewers to interact and engage with the content. video interstitial ads are the full screen video and these are the skippable or non skippable video ads that covers the entire screen. now let's check the performance of these ads. we also need to keep in mind that the ad revenues depend on the demography where these are being served. rich interstitial was the ad format with the highest monetization power in almost all regions. new variation in form of playable ads, which increases engagement rates, makes this a promising, enduring format. it's combination of relative hayek PM's and impression rates. rewarded video ads generated the highest ik and performances in all the regions. the nature of this format limits how frequently it can be served, which limits its impression rates and, ultimately, its revenue generation share. this format- SiC PM's- trended up. after the launch of this format by Facebook audience Network and AdMob, banner ads have endured as the second highest revenue-generating format across all regions. one of the earliest ad formats and being on the lower end of it, PM's- video interstitial ads trended down in terms of its signal performance in many of the regions. as you can see in the below matrix for Android platform, the rewarded video gives the highest ik, Macross all regions. also, as the demographic plays an important role, us delivers the highest rate for all lab types. in US region, there is a close competition between rich interstitial and video interstitial. then it saves you where video interstitial ads are quite close to rewarded video. after this, we have you poor e'en countries and, at last, the region of Latin America. also one more observation: the banners ads are the lowest performing in all regions. the ads and regions are ranked in the same way on the iOS platform too, but all at types pays more on the iOS platform from the Android platform. for example, the rewarded video in the US pays 8 dollars and 64 cents on Android, but 10 dollars and 40 cents on the iOS platform. now let's focus on each region separately. in the United States, rich interstitial ads monetized the most out of all ad formats. its monetizing share was 46% on Android and 3 2% on iOS. compared with all ad formats, rewarded video ads continued to raise as the ad format with the highest occur for months, averaging 8 dollars and 64 cents on Android and 10 dollars and 40 cents on iOS. iOS generated higher ik pm's than on android devices across all ad formats in Western Europe. for Android, rich interstitial let's have the highest monetization power. it makes up 45% of the monetization share compared with all ad formats. for iOS, banner ads monetized the most due to its vast impression rate, despite its Loic PM's averaging at 24 cents, taking up 44 percent of the monetization share. rewarded videoed sled as the ad format with the highest ik and performance, averaging at 3 dollars and 49 cents on Android and 6 dollars and 11 cents on iOS. in East Asia, rich interstitial ads accounted for the most share of the ad revenue generated for both hand ride, with 52%, and iOS, with 38%, due to its high ik PM's and impression rates. for Android, both video formats- rewarded and interstitial- had the highest ik performance, with an average of 3 dollars and 85 cents for rewarded video. for iOS, rewarded video climbed up impressively to be the topic performing ad format, averaging at $8 and 16 cents. the average ik PM's of rewarded video. rich interstitial end video interstitial ads were significantly higher on iOS than on Android by 111 percent, two hundred and thirty one percent and 32 percent respectively. in Eastern Europe, rich interstitial ads accounted for about half of the ad revenue generated for both hand write and iOS due to its high ik PM's. for iOS, rewarded video ads led with the highest ik and performance: averaging of 2 dollars and 33 cents, with video interstitial ads in second place, averaging of $2. iOS is at: PM's were more than double of androids for 3 ad formats. it's sick PM's. for banner rewarded video and video interstitial it's were 100 percent, 122 percent and 174 percent higher respectively than on Andrew. so it concludes: if you want to earn more money from your apps, use rewarded video as an ad type on iOS platform and the ad impressions should be from the united states region.
More:no ads youtube
AdMob Interstitial Ads - Mobile Ads Garage #4
hey everybody, I'm Andrew Brogdon, and welcome back to the mobile ads garage, where the videos are like my mother's Christmas cookies- chock-full of ginger. today we are all about interstitials, which is a word I'm still not sure how to spell. fortunately, Gary the graphics guy has no such problems. nice work there. all right, we're going to cover the basics of how interstitial ads fit into apps, and then we'll code up a sample implementation in iOS and Android. now, most of you are probably familiar with banner ads. they occupy a little spot and a viewer activity and stay visible while the user interacts with the rest of the UI. interstitials, on the other hand, appear briefly in between user interactions and they use all of a device's screen space. so instead of this, the users see something like this: that's an interstitial. the user can spend a second or two considering the ads message and either tap on the ad to click through or use the close button at the top to return to the app. so that's the basic idea. now, one other thing I want to tok about before we get to implementation is how request for interstitials work. requests for banners are synchronous. that means the usual pattern goes like this: you create an ad view, you call its method to load an ad and then, when the response comes from the server, it's immediately displayed in the ad view. interstitials are a little different because they cover the entire UI. you don't just want to toss them on screen whenever they load. instead, you request them in advance and then, when the moments right, that's when you display. so the request flow looks like this: you construct an interstitial ad object, call a method to load an ad, then, when you're ready, you check to make sure it's loaded and display. alright. with that in mind, let's get to some code. alright. so here I am in Xcode with my app, right there. it's really simple and I just like to show an interstitial when I hit that button. and here are the steps to do so. first I need to create a gat interstitial object. then I'll request an ad for it, wait for the right moment, check to make sure it's loaded and display. so first I'm going to add an import statement for the Google mobile ads SDK to my view controller code. there we go. now I'm going to come down here and add a new property for my gat interstitial. Oh, forgot to make it a pointer. there we go. now I need to initialize it, which I'll do in viewdidload, and this is a long statement, but once I get this typed out, you'll see that the initializer takes an ad unit ID. ad units are created at apps, AdMob, comm, and you'll want a unique one for each spot in your app where you show interstitials. that way, you control control things like mediation and campaigns independently. so there we go. so now my interstitial is created, so I need to request an N and the first step is to build a GAD request object, which I can do by calling the statik request method in GAD request. and once I've done that, I'm also going to give it the simulators ID to make sure that I get test ads while I'm testing. it's very important you should always, always- use test ads when you're testing your app. perfect, alright, now I just need to call my get interstitials load request method, pass it the request object I just made and I'm all set, cool. so the next step is to wait until the right moment in the flow of the app and then try and display. we're going to tok a lot more about this step and how to pick that right moment in our next video. today, those and so I'm just using a button press, waiting for the event sort of does that. for me that means it's on to the last steps and I just need to add code to my did receive tap method to check out the interstitial has loaded and, if so, display it. so you can check to see if your ad has loaded with the is ready method. so I'll use that for my conditional here and then display the ad. I just call present from root view controller, which in this case is the current class, so I can use self cool alright, let's make sure everything builds just fine. there we go and hit the button and there's my test dad, perfect, alright. so we created again interstitial, requested an ad, waited for the right time, checked and displayed. job done. so that's a basic example of how to get an interstitial working in iOS. now let's take a look at interstitials in android. as you'll see, it's the same steps in a different language. all right. so here I am in Android studio. I got my app, it's got a single button and I'd like to display an interstitial ad when somebody taps on it. and here are the steps to make that happen. first, I'm going to create an interstitial ad object. then I'll request an ad for it, wait until the right moment, check that it's loaded and display: all right. so in my activity I'll just drop in a new private member to hold my interstitial ad object. there we go, and then I'll construct it inside my on create method. here note that interstitials require a context in our constructor, but since I'm an activity, I can just use this cool. and last thing, I just need to give it an ad unit ID. you can make your own ad units at apps- AdMob, comm- and it's always a good idea to have unique one for each place in your app where you show an interstitial, so that you can configure them independently. alright, so creating the objects done, and now I need to request an ad, just like with banners, to request an ad I'll need an ad request object. so I'll make a builder. there we go, and I'm going to enter the emulator as a test device to make sure that I get test ads. remember, always, always, use test ads when testing your stuff. there's the constant. and then I just call the build method to get my ad request. all right, ad requests in hand. I just need to call the interstitial ads load ad method and that'll kick off the load. cool, all right. so step 3 is waiting until the right moment, and we're going to spend more time on this step and how to pick that right moment in our next video, but for this example, I'm just using a button to keep things simple, so waiting for the event to fire kind of does that for me. so that brings me to the last two steps, then, which are checking that the ad is loaded and displaying, and I'll handle those right in my onclick handler. to check if an interstitial has loaded, you can call the is loaded method, so I'll put that in my conditional and then to display, I just need to call all right, let me run this bad boy and see what happens. and it's running. get a click on here and there's my test: dad, perfect, alright. so here the steps. once again. I created an interstitial ad object, requested an ad, waited for the right moment, checked and display. job done, so now we've got a working ad in both iOS and Android. but there's a lot more to interstitials that we haven't had time to cover, things like how to load a new interstitial after you've finished displaying the previous one, how to pause and resume gameloop so you can avoid wasting CPU cycles, and when's the best time to show an ad. we're going to spend some time on those in our next episode, so be on the lookout for it. in the meantime, I've got some links for you. you could check out our guides for interstitials on both os's- I didn't get example code from our github repos or, by using Android Studios, import a sample option. you might also like admob's no nonsense guide to app monetization. it's an overview of monetization strategies that includes code and tips from other engineers. as always, if you've got a tiknical question relating to anything you've just seen, stop by our support forum. if you've got a question about this video series or a tip on something you'd like us to cover, leave a comment below and Gary and I'll see you next time.
More:what are preroll ads
Fullscreen Admob Interstitial Ad in iOS - Xcode 12 - Swift 5 2021 (Under 10 Mins!! )
everyone. in today's lesson i'll show you how you to implement google admob to your ios project. first of all, go to developersgooglecom website by mobile ads sdk for ios now. first of all, read the guide and the first thing we will import the mobile at sdk with pod file and let's open the xcode, create a new xcode project and next product name: admob test storyboard, split swift and next and click create, replace, yeah, and then open the terminal and open the project, a folder with terminal and i'm writing desktop cd at cd, admob test and, yeah, now we need to create part file and i'm writing path: yeah, i create podfile and i have to open it. open hot file: yeah, i create pod file and i open it and now we will add the admob sdk on pod file. i copy here and here. copy and paste it here and we can close and open terminal again and right path, install downloading dependencies and install. yeah, we install it. now we must work with xcode project file and i'm closing this, opening xcode again. open up project or file. admob test: you can see admob test xc c workspace. open it now. you can see our parts parts: google mobile ads sdk. we install sdk and then both install, make this and we must update our info playlist. i'm copying this ged application identifier. you can see info, that playlist, and now i will open as source code and i'm coming here here. i'll pass this here. yeah, i can open it like property list again. yeah, as you can see, we will change this id with our admob id later. this is a test id here and i'm continue. we will initialize the mobile ads sdk. yeah, open the app delegate. that's with file [Music]. you must write import google mobile ads and then we will copy this and we'll paste it here. yeah, i save it. and then select and add format, install c shield, implement an interstitial. how we can implement, it's really easy steps. first of all, i will add a storyboard. this is my window, i will, at the bottom here i will change like: click me, i'm coming here- and insert action, click button and we must import google mobile ads, import google pilots, and then in vid, oh, first of all this one and you copy this and paste it here and then i will make an iv action. i will copy this and i'll pass it here and that's all. we can start with iphone 12 here and build, building admob tests, build fail, why? i see why the view controller. yeah, we will make this one and build it again. and yes, now click the button and, as you can see, that's all. thank you for watching me. see you again.
What are Interstitial Ads? | Best Practices, Tips and Benefits
interstitial ads are more common in mobile and app environments. however, recently, this ad format is also used for desktops. in this video, we'll explain what interstitial ads are, their benefits, best practikes for using them and their ad revenue potential for publishers. what are interstitial ads? interstitial ads are notikeable ad formats that cover the interface of the site. these ads either fill the screen on a mobile device or float over a webpage on a desktop. they appear when a user completes an action, for example, clicks on another artikle. most importantly, interstitials have a built-in frequency cap of one interstitial ad per user in an hour, which is what differentiates them from pop-up ads. another example of when an interstitial ad can appear is between game levels in a mobile app. users can easily close the app and continue playing the game. there are three types of interstitial ads: text ads, image and rich media ads or video ads. why should publishers use interstitials? first, add diversity. by integrating interstitial ads, publishers can increase their overall website's ad diversity and minimize banner blindness. second, more ad revenue. these ads have higher cpms and ctrs than standard banner ads, which increases publishers overall ad revenue. third, better ad engagement. thanks to their large size, interactiveness and animated content, they are ideal for creating an engaging ad experience for users. fourth, high demand. interstitial ads are one of the most popular ad formats in programmatik advertising, with demand from all major ad platforms like xander, google, dv 360 and admob. 5 best practikes for interstitial ads. first, respect the user experience. if you display interstitial ads, don't overcrowd your website with too many other ad formats. second, make sure interstitials have a close button from the start. the close button should appear immediately or after five seconds for video interstitials. third, avoid working with multiple google accounts because there is a possibility that interstitials will be displayed more than allowed. fourth, avoid custom templates. you shouldn't change the frequency cap set by google. fifth, when implementing interstitial ads, consider the natural flow of user engagement. interstitial ads shouldn't obstruct your mobile site or app usage. how much can publishers earn with interstitial ads? interstitial ads have one of the highest cpm prices compared to other ad formats like banner ads. for example, last year, mobile interstitial ads in the us generated the highest ecpm rates: 9.64 cents on ios and 10.11 on android. setup ad provides interstitial ad formats along with many others. we suggest using interstitial ads for your mobile site and website because they enable high value impression delivery and help to increase your ad revenue. follow the tips mentioned in this video and you'll achieve the best results with this ad format.
Fullscreen Interstitial Ad in App (Swift 5) - Xcode 11 - 2020 - iOS, Admob
[Music]. [Applause]. what is going on, guys? welcome back to another swift video. in today's video, we're going to be learning how to implement a interstitial ad, otherwise known as a full screen pop-up ad. so if we open up the app here, you'll see that we have a button and when we tap it, uh, we get this full screen pop-up ad. we're using google ads, so we're going to take a look at how to set this up in the console. bring in the code. i had to dismiss it and we're loading a new ad behind the scene so we can re-present it and all that good stuff. so make sure you destroy the like button as always. hit subscribe while you're at it if you have been around and enjoy these videos. and the other thing i'll mention before we jump into it is: i haven't been posting for the past few days because i've been traveling, as some of you know that follow me on social media, but i wanted to quickly share some pictures for those of you that care. i've been on the west coast. nice little time to unplug from. you know work in life. so here are some cool little pictures of what i've been up to for the past few days. so, that said, let's get into some code. as always, quick pause before we get into the video. if you haven't seen it already, i am hard at work putting together ios academy dot io, a community where all of us ios engineers can come together, learn how to build some of the top apps like facebook, youtube and instagram, in addition to interview prep to land some of these ios roles at top tik companies. so if you're interested in the free and premium content, to come head on over to ios academy dot io and enter your email address in the waitlist form and you will be notified as content becomes available. that said, let's get into the video. alright, so we're going to get started by opening up xcode and creating a new project and we're going to stik with a single view application. i'm going to go ahead and call this project google interstitius station. hopefully it's about that right: google interstitial ad. go ahead and create it and save it wherever you'd like and we're going to jump right in. so the very first thing we want to do is bring in the actual sdk that google provides for showing ads, and we're going to bring that in via cocoapods. so go ahead and open up terminal and we're going to cd into the project. so i put it on my desktop, this folder, and what did i call it again? i called the google interstitial ads. so let's search for that. we're going to do a pod init to initialize cocoapods in this project. after that we're going to open up the pod file by doing a open pod file, and the cocoapod that we want to bring in is called google mobile ads sdk, i believe. make sure you lowercase that p, otherwise you're going to run into issues. go ahead and close text edit with a command q and you can run pod install. we can actually do a command w on this xq window to close it, as we're going to open up the workspace after all of this stuff installs. so you'll see that a couple of things are being installed because google's own library has upstream dependencies. so you see, google utilities here promise objective c, etc, etc. so once it all installs and it's good to go, you can now open up the project name dot xc workspace which should have been generated for you and that should open up. let me close this right panel. let's expand our window over here. let's open up the project. let's pick a simulator of course, hit the run button to make sure things are compiling and we'll will trudge forward with some code, give it a few seconds to compile and actually, while it's doing this, you want to actually there it goes. while this is launching, you want to head over to admobcom. it's google's advertising platform for mobile apps, as you can see here. create an account if you don't have one already. you have to use your gmail account, your google account. so once it's set up and you have this account, you can log in and we're on the screen to create a new app. so the very first thing it asks you is if you published your app already onto the store. we haven't, of course, so we're gonna hit no. the next thing it asks you is the platform. so we're obviously on ios and we're basically registering our app right now with the google ad platform. so i'm gonna go ahead and call this google interstitial ad demo. ios is good. enable user metrics. you can leave that checked and go ahead and hit add and it creates your app and it gives you this information. here the thing you want is your app id so you can copy it, or hit this button to copy it to your clipboard. and you can see here that once we launched the app, it actually crashed and if you look at the console output here, you'll see that we are missing the uh google identifier in the plist. so there's an initial initialization exception and basically what this is complaining about is we need to put that id, which is copied from the browser, into our plist. so go ahead and click on your infoplist, come to the last row, select it and hit enter. and you want to add gad application identifier? hit tab and paste in that application id you just copied from the website. you can also now go to the app delegate and in here you want to go ahead and import the framework. so google mobile ads and in the function application did finish launching. you want to initialize the ads sdk by saying gad mobile ads shared instance and you want to call start with a completion handler, which is optional. so we'll just go ahead and pass in nil. now go ahead and hit command r once more and now your app should actually launch, no crashing, and you should just sit on the main view controller. so mine's black here because this uh device, i believe, is in dark mode. let's double check. there it is. yep, it's in dark mode. so the app is now successfully launching and we're sitting here you can see there's no crash, but there is a bunch of stuff being thrown into the console. we can ignore all of that and we can move on to actually implementing the ad. so we're going to implement the ad in the view controller. we're going to have a button and when the user taps on it we're going to show an interstitial ad, otherwise known as a full screen ad, and let's go ahead and set that up. so the first thing we want to do is, in the console here we want to actually create an instance of an ad unit, so we'll just hit that convenient button. here are the four types of ads they support. we're going to select interstitial. it's going to want us to give the ad a name, so i'm just going to call it home interstitial. go ahead and create it. notike, now there is an ad identifier here, so you want to copy this guy, as this is what we're going to use to actually load the ad. so go ahead and copy that. i'm going gonna go ahead and create a uh struct on here for constants and we're gonna say home add id and we're gonna put that in there as a string, and i think we're good to go now in terms of the actual console here, so you can go ahead and close this or leave it open. i'm just gonna leave it open in case we mess up this copy paste and let's uh, let's implement these ads. so go ahead and import google mobile ads. like i mentioned, we're going to want a button to actually uh show the ad, so i'm simply going to create it in muted load. it's going to be a very standard ui button with a frame. uh x will leave a 0, 0, 200. we'll say 55. we're going to add this as a sub view. we're going to set a background color so it's not totally ugly. we're going to center it. let's see what else do we want? we want some text on it that's slightly important. so we're going to say set title. we're going to call it show, add, normal. let's also set a title color so we can see it on the blue and that'll be white and i think that's good enough. we should also add a target to this button, which is what gets called when the button is tapped. so we're going to add a target with a selector and this is going to be did: tap button, which will create in two seconds and the event is touch up inside, go ahead and create that function. it'll be a private function called the tab, but.