This quickstart guide is for publishers and developers who want to use AdMob
to monetize an app that's built with Firebase.
If you don't plan to include Firebase in your app, visit the
standalone AdMob
guide
instead.
If you haven't yet, learn about all the
benefits
of using AdMob, Firebase,
and Google Analytics together.
Before you begin
If you don't already have a Firebase project and a Firebase app, follow the
Firebase getting started guide:
Add Firebase to your iOS project
.
Make sure that Google Analytics is enabled in your Firebase project:
If you're creating a new Firebase project, enable Google Analytics
during the project creation workflow.
If you have an existing Firebase project that doesn't have
Google Analytics enabled, you can enable Google Analytics from
the
Integrations
tab of your
settings
>
Project settings
.
Step 1:
Set up your app in your AdMob account
Register your app as an AdMob app.
Sign into
or
sign up
for an
AdMob account.
Register your app with
AdMob
. This
step creates an AdMob app with a unique
AdMob
App ID
that you'll need later in this guide.
You'll be asked to add the Mobile Ads SDK to your app. Find
detailed instructions for this task later in this guide.
Link your AdMob app to your Firebase app.
This step is optional but strongly recommended. Learn more about the
benefits
of enabling user metrics and linking your AdMob app to Firebase.
Complete the following two steps in the
Apps
dashboard of your AdMob
account:
Enable
User Metrics
to allow AdMob to process and display curated analytics data in your
AdMob account. It's also a required setting for you to link your
AdMob app to Firebase.
Link your
AdMob app
to your existing Firebase project and Firebase app.
Make sure that you enter the same bundle ID as you entered for your
Firebase app. Find your Firebase app's bundle ID in the
Your apps
card
of your
settings
>
Project settings
.
Step 2:
Add your AdMob App ID to your
Info.plist
file
In your app's
Info.plist
file, add a
GADApplicationIdentifier
key with a
string value of your
AdMob App ID
.
You can make this change programmatically:
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~1458002511 -->
<key>GADApplicationIdentifier</key>
<string>
ADMOB_APP_ID
</string>
Or, edit it in the property list editor:
Step 3:
Add and initialize the Mobile Ads SDK
Add the dependency for the Google Mobile Ads SDK to your project's
Podfile:
pod 'Google-Mobile-Ads-SDK'
Before loading ads, call the
startWithCompletionHandler:
method on the
GADMobileAds.sharedInstance
.
This call initializes the SDK and calls back a completion handler once
initialization is complete (or after a 30-second timeout). Call this method
only once and as early as possible, ideally at app launch but after
initializing Firebase.
Here's an example of how to call the
startWithCompletionHandler:
method in
your
AppDelegate
:
Swift
import Firebase
import GoogleMobileAds
...
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Use Firebase library to configure APIs.
FirebaseApp.configure()
// Initialize the Google Mobile Ads SDK.
GADMobileAds.sharedInstance().start(completionHandler: nil)
return true
}
}
Objective-C
@import Firebase;
@import GoogleMobileAds;
...
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Use Firebase library to configure APIs.
[FIRApp configure];
// Initialize the Google Mobile Ads SDK.
[[GADMobileAds sharedInstance] startWithCompletionHandler:nil];
return YES;
}
@end
Step 4:
View user metrics and analytics data
After its initialization, the Mobile Ads SDK automatically starts
logging analytics
events
and
user properties
from your app. You can view this data without adding any additional code to your
app or implementing any ads. Here's where you can see this analytics data:
Note that to better represent
ARPU
and
ARPPU
metrics, you
might want to include data from an analytics
custom
event called
ecommerce_purchase
in the revenue calculation for these metrics
(
learn how
).
Step 5:
(Optional)
Use more features of Google Analytics and Firebase
Take advantage of more opportunities and features to improve app monetization and
user engagement:
Add and use the Firebase SDK for Google Analytics
To learn more, visit the guide for
using Google Analytics and Firebase
with AdMob apps
.
Use other Firebase products in your app
After you add the Firebase SDK for Google Analytics, use other Firebase
products to optimize ads in your app.
Remote Config
enables you to change the behavior
and appearance of your app without publishing an app update, at no cost, for
unlimited daily active users.
A/B Testing
gives you the power to test changes to
your app’s UI, features, or engagement campaigns to learn if they make an
impact on your key metrics (like revenue and retention) before rolling the
changes out widely.
Optimize ad monetization for your app
Try out different ad formats or configurations with a small subset of users,
and then make data driven decisions about implementing the ad for all your
users. To learn more, check out the following tutorials:
AdMob offers a number of different ad formats, so you can choose the format that
best fits the user experience of your app. Click a button for an ad format to
view detailed implementation instructions in the AdMob documentation.
Banner
Rectangular ads that appear at the top or bottom of the device screen
Banner ads stay on screen while users are interacting with the app, and can
refresh automatically after a certain period of time. If you're new to mobile
advertising, they're a great place to start.
Implement Banner Ads
Interstitial
Full-screen ads that cover the interface of an app until closed by the user
Interstitial ads are best used at natural pauses in the flow of an app's
execution, such as between levels of a game or just after a task is completed.
Implement Interstitial Ads
Native
Customizable ads that match the look and feel of your app
Native ads are a component-based ad format. You decide how and where Native ads
are placed so that the layout is more consistent with your app's design. By
choosing fonts, colors, and other details for yourself, you can create natural,
unobtrusive ad presentations that can add to a rich user experience.
Implement Native Advanced Ads
Rewarded
Ads that reward users for watching short videos and interacting with playable
ads and surveys
Rewarded (or "reward-based") ads can help monetize free-to-play users.