The native ad format can be used
to create any size of ad, including full-screen ads like those that are highly
popular in social and entertainment apps. Full-screen native ads can improve
revenue and retention, either through matching the style of existing
full-screen content experiences such as in social apps, or through providing a
means to place ads in "stories" feeds. Here are some examples of
full-screen native ads:
There is no separate API to call to enable full-screen native ads to serve
beyond the instructions for Native
Advanced. However,
there are best practices we recommend when creating full-screen ad experiences:
Make assets clickable during native video playback
By default the Google Mobile Ads SDK sets userInteractionEnabled
to NO on all ad assets other than mediaView
while the media view is playing video. As a result, when a video is playing,
clicks occur on the view sitting behind the asset view. In a full screen
native implementation, where asset views are placed on top of the media view,
the media view gets the click. The media view handles user interaction for
video playback controls during video playback, and only clicks through to the
ad's destination URL once video completes playback.
To make your other ad assets such as callToActionView
click through to the user to the ad's destination while the video is playing,
wrap each asset view in a parent UIView that is a subview of the native ad
view. Your native ad view structure should look like this:
-- Native Ad View
-- Media View
-- Container View 1
-- Call To Action View
-- Container View 2
-- Headline View
-- Container View 3
-- Body View
Customize the AdChoices icon placement
By default, the AdChoices icon is placed at the top-right corner of the ad,
but you can specify any corner where the AdChoices icon should appear by
setting the GADAdChoicesPosition based on placement of the ad. In the
three images in the previous section, the AdChoices icon is placed in a
corner far away from the Install button, the menu button and other ad
assets to avoid accidental clicks.
Use unique ad unit IDs for each placement
Be sure to create a unique ad unit
ID for each different ad placement
in your app, even if all ad placements are the same format. For example, if
you have an existing native ad placement in your app for a non-full screen
experience, use a new ad unit ID for the full screen experience. Using unique
ad units:
maximizes performance
helps Google return ad assets that better fit your layouts
enables more comprehensive reporting.
Set your media view to a consistent size
Google always tries to serve the best-sized native assets for optimal
performance. To facilitate this, the sizing for your native ads should be
predictable and consistent. Your media view asset should be the same size for
every ad request on the same device. To accomplish this, set your media view
to a fixed size, or set the media view to MATCH_PARENT and make the parent
view a fixed size. Repeat this step for every parent view of the media view
that is not a fixed size.
Enable video ads
Enable the Video media type when
configuring native ads
in the Ad Manager UI. Allowing video ads to compete for your
inventory can significantly improve performance.
[Optional] Request specific aspect ratios for the media asset
By default, ads of any aspect ratio may be returned. For example, you may get
a landscape or square main creative asset when your app is in portrait
mode. Depending on your native ad layout, you may want to serve only
portrait, landscape, or square ads. You can request assets of specific
aspect ratios to best suit your
layout.
Landscape
Square
Portrait
Swift
letaspectRatioOption=NativeAdMediaAdLoaderOptions()aspectRatioOption.mediaAspectRatio=.portraitadLoader=AdLoader(adUnitID:"<var>your ad unit ID</var>",rootViewController:self,adTypes:adTypes,options:[aspectRatioOption])
Objective-C
GADNativeAdMediaAdLoaderOptions*aspectRatioOption=[[GADNativeAdMediaAdLoaderOptionsalloc]init];aspectRatioOption.mediaAspectRatio=GADMediaAspectRatioPortrait;self.adLoader=[[GADAdLoaderalloc]initWithAdUnitID:@"<var>your ad unit ID</var>"rootViewController:selfadTypes:@[GADAdLoaderAdTypeNative]options:@[aspectRatioOption]];
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-22 UTC."],[[["\u003cp\u003eFull-screen native ads, popular in social and entertainment apps, can enhance revenue and retention by mirroring existing content styles or integrating into "stories" feeds.\u003c/p\u003e\n"],["\u003cp\u003eTo optimize full-screen native ad experiences, ensure ad assets are clickable during video playback, customize the AdChoices icon placement, and use unique ad unit IDs for each placement.\u003c/p\u003e\n"],["\u003cp\u003eFor optimal performance, maintain consistent media view sizing, enable video ads in Ad Manager, and optionally request specific aspect ratios for the media asset, although this might limit ad availability.\u003c/p\u003e\n"]]],[],null,["Select platform: [Android](/ad-manager/mobile-ads-sdk/android/native/full-screen \"View this page for the Android platform docs.\") [iOS](/ad-manager/mobile-ads-sdk/ios/native/full-screen \"View this page for the iOS platform docs.\")\n\n\u003cbr /\u003e\n\nThe [native ad format](/ad-manager/mobile-ads-sdk/ios/native) can be used\nto create any size of ad, including full-screen ads like those that are highly\npopular in social and entertainment apps. Full-screen native ads can improve\nrevenue and retention, either through matching the style of existing\nfull-screen content experiences such as in social apps, or through providing a\nmeans to place ads in \"stories\" feeds. Here are some examples of\nfull-screen native ads:\n\n\nThere is no separate API to call to enable full-screen native ads to serve\nbeyond the instructions for [Native\nAdvanced](/ad-manager/mobile-ads-sdk/ios/native/advanced). However,\nthere are best practices we recommend when creating full-screen ad experiences:\n\nMake assets clickable during native video playback\n\n: By default the Google Mobile Ads SDK sets [userInteractionEnabled](//developer.apple.com/documentation/uikit/uiview/1622577-userinteractionenabled)\n to `NO` on all ad assets other than [mediaView](/ad-manager/mobile-ads-sdk/ios/api/reference/Classes/GADNativeAdView#mediaview)\n while the media view is playing video. As a result, when a video is playing,\n clicks occur on the view sitting behind the asset view. In a full screen\n native implementation, where asset views are placed on top of the media view,\n the media view gets the click. The media view handles user interaction for\n video playback controls during video playback, and only clicks through to the\n ad's destination URL once video completes playback.\n\n To make your other ad assets such as [callToActionView](/ad-manager/mobile-ads-sdk/ios/api/reference/Classes/GADNativeAdView#calltoactionview)\n click through to the user to the ad's destination while the video is playing,\n wrap each asset view in a parent UIView that is a subview of the native ad\n view. Your native ad view structure should look like this: \n\n -- Native Ad View\n -- Media View\n -- Container View 1\n -- Call To Action View\n -- Container View 2\n -- Headline View\n -- Container View 3\n -- Body View\n\nCustomize the AdChoices icon placement\n: By default, the AdChoices icon is placed at the top-right corner of the ad,\n but you can specify any corner where the AdChoices icon should appear by\n setting the `GADAdChoicesPosition` based on placement of the ad. In the\n three images in the previous section, the AdChoices icon is placed in a\n corner far away from the **Install** button, the menu button and other ad\n assets to avoid accidental clicks.\n\nUse unique ad unit IDs for each placement\n\n: Be sure to [create a unique ad unit\n ID](//support.google.com/admanager/answer/10477477) for each different ad placement\n in your app, even if all ad placements are the same format. For example, if\n you have an existing native ad placement in your app for a non-full screen\n experience, use a new ad unit ID for the full screen experience. Using unique\n ad units:\n\n - maximizes performance\n - helps Google return ad assets that better fit your layouts\n - enables more comprehensive reporting.\n\nSet your media view to a consistent size\n\n: Google always tries to serve the best-sized native assets for optimal\n performance. To facilitate this, the sizing for your native ads should be\n predictable and consistent. Your media view asset should be the same size for\n every ad request on the same device. To accomplish this, set your media view\n to a fixed size, or set the media view to `MATCH_PARENT` and make the parent\n view a fixed size. Repeat this step for every parent view of the media view\n that is not a fixed size.\n\nEnable video ads\n\n: Enable the `Video` media type when\n\n [configuring native ads](//support.google.com/admanager/answer/7438314)\n\n in the Ad Manager UI. Allowing video ads to compete for your\n inventory can significantly improve performance.\n\n\\[Optional\\] Request specific aspect ratios for the media asset\n\n: By default, ads of any aspect ratio may be returned. For example, you may get\n a landscape or square main creative asset when your app is in portrait\n mode. Depending on your native ad layout, you may wish to serve only\n portrait, landscape, or square ads. You can request assets of specific\n [aspect ratios](/ad-manager/mobile-ads-sdk/ios/api/reference/Enums/GADMediaAspectRatio) to best suit your\n layout.\n\n |-----------|--------|----------|\n | Landscape | Square | Portrait |\n\n \u003cbr /\u003e\n\n Swift \n\n let aspectRatioOption = NativeAdMediaAdLoaderOptions()\n aspectRatioOption.mediaAspectRatio = .portrait\n adLoader = AdLoader(\n adUnitID: \"\u003cvar\u003eyour ad unit ID\u003c/var\u003e\",\n rootViewController: self,\n adTypes: adTypes,\n options: [aspectRatioOption])\n\n Objective-C \n\n GADNativeAdMediaAdLoaderOptions *aspectRatioOption = [[GADNativeAdMediaAdLoaderOptions alloc] init];\n aspectRatioOption.mediaAspectRatio = GADMediaAspectRatioPortrait;\n self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:@\"\u003cvar\u003eyour ad unit ID\u003c/var\u003e\"\n rootViewController:self\n adTypes:@[ GADAdLoaderAdTypeNative ]\n options:@[ aspectRatioOption ]];\n\n | **Caution:** Setting media aspect ratio to portrait, landscape, or square will limit ad availability, and may reduce revenue. To ensure maximum revenue, we recommend leaving the media aspect ratio to the default value of `GADMediaAspectRatioAny`.\n\n\u003cbr /\u003e"]]