Safari Developer Library


iOS Human Interface Guidelines


iAd Rich Media Ads

When you allow advertisements to appear in your app, you can receive revenue when users see or interact with them. (Here you can see a placeholder for an iAd banner in a sample project.)

image: ../Art/iad_intro_2x.png

You host an ad served by the iAd Network in a specific view in your UI. Initially, this view can contain the ad’s banner, which functions as the entrance into the full iAd experience. When people tap the banner, the ad performs a preprogrammed action, such as playing a movie, displaying interactive content, or launching Safari to open a webpage. The action can display content that covers your UI or it can cause your app to transition to the background.

There are three types of banners that you can display in your app: standard, medium rectangle, and full screen. All types of banners serve the same purpose—that is, to usher users into the ad—but they differ in their appearance and behavior.

A standard banner takes up a small area of the screen and is often visible for as long as the screen is visible. You choose the app screens that should display a standard banner and make room for the banner view in the layout.

image: ../Art/standard_iad_banner_2x.png

All iOS apps can display standard banners. Use a view provided by the ADBannerView class to contain a standard banner in your app.

A medium rectangle banner is similar in behavior to a standard banner and—as with standard banners—you choose where a medium rectangle banner should be displayed.

image: ../Art/med_rect_iad_banner_2x.png

Medium rectangle banners are available only in iPad apps. You use a view provided by the ADBannerView class to contain a medium rectangle banner in your app.

A full screen banner occupies most or all of the screen and is usually visible at specific times during the app flow or in specific locations. You choose whether to display the banner modally or as a separate page within scrollable content. (In the example shown here, the app provides a magazine-reading experience and lets users turn the page away from or back to the full screen banner.)

image: ../Art/fullscreen_iad_portrait_2x.png

Use a view provided by the ADInterstitialAd class to contain a full screen banner in your app.

All banner types appear inside the iAd frame, which displays the iAd mark in the lower-right corner. The iAd frame has been designed to look best when it is anchored to the bottom edge of your app screens.

To ensure seamless integration with banner ads and to provide the best user experience, follow these guidelines.

Place a standard banner view at or near the bottom of the screen. This placement differs slightly, depending on whether there is a bar at the bottom of the screen and if so, the kind of bar.


Standard banner view placement

No bar at the bottom of the screen

At the bottom of the screen

No bars anywhere on the screen

At the bottom of the screen

Toolbar or tab bar

Directly above the bottom bar

Place a medium rectangle banner view where it doesn’t interfere with the user’s content. As with the standard banner view, the medium banner view looks best at or near the bottom of the screen. Putting the banner near the bottom of the screen also increases the likelihood that it won’t get in people’s way.

Present a full screen banner modally when there are interludes in the user experience. If there are natural breaks or context changes in the flow of your app, the modal presentation style can be appropriate. When you present a full screen banner modally (by using presentFromViewController:), the user must either enter the ad or dismiss it. For this reason, it’s a good idea to use the modal presentation style when users are expecting a change in experience, such as after they complete a task.

Present a full screen banner nonmodally when there are transitions between app views. If users experience your app by making frequent screen transitions, such as paging through a magazine or flicking through a gallery of items, the nonmodal presentation style can be appropriate. When you present a full screen banner nonmodally (by using presentInView:), you can preserve the bars in your UI so that users can use app controls to move past or return to the ad. As with all banners, a full screen banner launches the iAd experience when a user taps it, but your app can respond to other gestures within the banner area (such as drag or swipe) if appropriate.

Be sure to use appropriate animations to reveal and hide a nonmodal full screen banner view. For example, a magazine reader app would probably present a banner using the same page-turn animation it uses to reveal other content pages.

Ensure that all banners appear when and where it makes sense in your app. People are more likely to enter the iAd experience when they don’t feel like they’re interrupting their workflow to do so. This is especially important for immersive apps such as games: You don’t want to place banner views where they will conflict with playing a game.

Avoid displaying banners on screens that users are likely to see only briefly. If your app includes screens that users move through quickly as they drill down or navigate to the content they care about, it’s best to avoid displaying banners on these screens. Users are more likely to tap a banner when it stays onscreen for more than a second or two.

As much as possible, display banner ads in both orientations. It’s best when users don’t have to change the orientation of the device to switch between using your app and viewing an ad. Also, supporting both orientations allows you to accept a wider range of advertisements. To learn how to make sure a banner view responds to orientation changes, see iAd Programming Guide.

Don’t allow standard or medium rectangle banners to scroll off the screen. If your app displays scrolling content in the screen, make sure the banner view remains anchored in its position.

While people view or interact with ads, pause activities that require their attention or interaction. When people choose to view an ad, they don’t want to feel that they’re missing events in your app, and they don’t want your app to interrupt the ad experience. A good rule of thumb is to pause the same activities you would pause when your app transitions to the background.

Don’t stop an ad, except in rare circumstances. In general, your app continues running and receiving events while users view and interact with ads, so it’s possible that an event will occur that urgently requires their immediate attention. However, there are very few scenarios that warrant the dismissal of an in-progress ad. One possibility is with an app that provides Voice over Internet Protocol (VoIP) service. In such an app, it probably makes sense to cancel a running ad when an incoming call arrives.