Get Started

This guide is for publishers who want to monetize an iOS app with AdMob and aren't using Firebase. If you plan to include Firebase in your app (or you're considering it), see the AdMob with Firebase version of this guide instead.

Integrating the Google Mobile Ads SDK into an app is the first step toward displaying ads and earning revenue. Once you've integrated the SDK, you can proceed to implement one or more of the supported ad formats.


  • Use Xcode 12 or higher
  • Target iOS 10.0 or higher

Import the Mobile Ads SDK

CocoaPods (preferred)

The simplest way to import the SDK into an iOS project is to use CocoaPods. Open your project's Podfile and add this line to your app's target:

pod 'Google-Mobile-Ads-SDK'

Then from the command line run:

pod install --repo-update

If you're new to CocoaPods, see their official documentation for info on how to create and use Podfiles.

Manual download

  1. Download and unzip the SDK framework directly, and import the following frameworks into your Xcode project:

    • GoogleAppMeasurement.framework
    • GoogleMobileAds.framework
    • GoogleUtilities.xcframework
    • nanopb.xcframework
    • PromisesObjC.xcframework
    • UserMessagingPlatform.framework
  2. Add the -ObjC linker flag to Other Linker Flags in your project's build settings:

Update your Info.plist

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.

Or, edit it in the property list editor:

Property List Editor

If you haven't created an AdMob account and registered an app yet, now's a great time to do so.

Initialize the Mobile Ads SDK

Before loading ads, call the startWithCompletionHandler: method on the GADMobileAds.sharedInstance, which initializes the SDK and calls back a completion handler once initialization is complete (or after a 30-second timeout). This only needs to be done once, ideally at app launch. You should call startWithCompletionHandler: as early as possible.

Here's an example of how to call the startWithCompletionHandler: method in your AppDelegate:

Example AppDelegate.m (excerpt)


import GoogleMobileAds

class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    GADMobileAds.sharedInstance().start(completionHandler: nil)

    return true



@import GoogleMobileAds;

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  [[GADMobileAds sharedInstance] startWithCompletionHandler:nil];
  return YES;


If you are using mediation, you may wish to wait until the completion handler is called before loading ads, as this will ensure that all mediation adapters are initialized.

Select an ad format

The Mobile Ads SDK is now imported and initialized, and you're ready to implement an ad. AdMob offers a number of different ad formats, so you can choose the one that best fits your app's user experience.

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 a Banner


Full-screen ads that cover the interface of an app until closed by the user. They're 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 an Interstitial


Customizable ads that match the look and feel of your app. You decide how and where they're placed, so the layout is more consistent with your app's design.

Implement Native Ads


Ads that reward users for watching short videos and interacting with playable ads and surveys. Good for monetizing free-to-play users.

Implement Rewarded Ads Implement Rewarded Ads (new APIs)