August 15th, 2019
Video ads are one of the most effective ad formats to use in your app. Increasingly, people expect to see ads that are relevant to them and that don’t interrupt their app experience—and video ads deliver on both counts. They’re a powerful canvas that you can use to engage users, for you and your advertisers. With a variety of formats, such as reward, interstitial, or native video, you can integrate video ads into your app to provide an enhanced experience.
But using video ads goes beyond selecting them as an option in Google AdMob. To make sure users have the best experience with video ads, you need to optimize your app to play them. If the video doesn’t play correctly, users often blame the app, not the ad. Playback needs to start promptly and reliably and continue without interruption. But serving an ad in a mobile app is not always easy—a number of factors can degrade the experience. The network connection might be poor, or the phone itself might be busy with other things.
Video ads use more memory, network, and device resources than other types of ads. The key to optimal video quality is to use these resources as efficiently and as intelligently as you can. And when your video quality is better, your ads will perform better too, and you may find that your app becomes more stable overall.
Load ads well in advance to permit buffering
The moment you load a video ad, behind the scenes the ad starts buffering (essentially pre-loading) the video. In this instance, the network is the bottleneck. For example, if the phone is connected to WiFi or 4G, buffering should happen fast. But if the user is on a slower network, it can degrade or interrupt playback. The more time you allow for the ad to fill its buffer, the more reliable playback will be.
Seconds matter. Load your ad at least 15 seconds in advance of showing it. Even a few seconds in advance will prevent some users from seeing a blank ad.
Free unused ads
If you load an ad that you won’t need, like a rewarded ad where the user declined the reward, then be sure to release it right away. This frees up memory and video decoders, which will help the phone run faster and reduce the possibility of interruption on your app. On Android, we recommend you null your reference to the ad, and if you’re using native ads, call UnifiedNativeAd.destroy() on the main thread. On iOS, set your reference to nil.
Avoid loading multiple concurrent ads
Every phone has a limit to the number of videos it can hold in a prepared state. The Google Mobile Ads SDK doesn’t know which video ad will be shown next, so it keeps them all prepared. Lots of phones can’t hold more than one prepared video at a time. So whether your app is used in developing or developed markets, it’s very important to always free up memory as soon as possible.
Load only the ads that you need to give them the best chance at successful playback. For example, if you show multiple video ads, like native video ads in a news feed, then be sure to recycle ads that have scrolled offscreen so video players don’t just pile up in memory. This should also lead to better overall app performance.
Don’t show an ad before receiving a notification that it has loaded
The Google Mobile Ads SDK uses notifications to inform the app when a video is prepared to play. On Android, it is possible to show an ad before this notification–a legacy from the days of static content ads–but it’s not a good idea to do that. Video performance will be poor and users may think something is wrong not just with playback, but with the app itself.
On Android, this notification arrives through AdListener.onAdLoaded().
Be extra cautious combining video ads with video content
The recommended approach of not loading multiple concurrent video ads applies equally to the content video and ad video. If your app plays video outside of ads, then freeing content video resources before video ads are shown will help reliability, too.
As developers, you put a huge amount of time and energy into creating an engaging app. And a great app experience should provide a great ad experience. We hope these tips help you make the most out of video ads as part of your monetization strategy.