Chartboost Videos
Boost your game with engaging, high-quality video ads!
The Chartboost SDK offers rich media support, custom advertiser experiences, and refreshed end cards to make your videos feel less like ads and more like crafted recommendations. Give your players the best in-game experience to enhance your ad performance and drive higher eCPM.
Chartboost offers two types of video ads:
-
Rewarded video lets players earn in-game items or virtual currency in exchange for a completed video view.
-
Interstitial video earns you revenue or helps you acquire users similarly to static creatives.
Before You Begin
- Download and integrate the latest Chartboost SDK.
- Start a campaign in your dashboard. When setting up your campaign, select a Placement Type from the dropdown.
Caution
Prefetched videos (in total) only take up 30-50MB, even when you are using mediation. Video prefetch might download videos from campaigns that hit budget, in which case a No Ad Found error might occur.
For more information, visit our Chartboost Video FAQs.
Rewarded Video Integration
These instructions apply to games on both the Amazon and Android platforms. Amazon integration uses the same SDK as Android.
To show a rewarded video add this call:
/** Show rewarded video ad at location Main Menu.
See /libs/chartboost.jar/com.chartboost.sdk for available location options. **/
Chartboost.showRewardedVideo(CBLocation.LOCATION_MAIN_MENU);
We recommend that you attempt to cache the video ad and verify that content exists before making the show call:
/** Cache rewarded video ad at location Main Menu.
See /libs/chartboost.jar/com.chartboost.sdk for available location options. **/
Chartboost.cacheRewardedVideo(CBLocation.LOCATION_MAIN_MENU);
...
if (Chartboost.hasRewardedVideo(CBLocation.LOCATION_MAIN_MENU) {
Chartboost.showRewardedVideo(CBLocation.LOCATION_MAIN_MENU);
}
else {
// We don't have a cached video right now, but try to get one for next time
Chartboost.cacheRewardedVideo(CBLocation.LOCATION_MAIN_MENU);
The maximum number of rewarded video impressions that a user can receive per day, per publishing app is 20.
To see when a reward is ready to be delivered, use the following delegate method:
public void didCompleteRewardedVideo(String location, int reward)
Learn more about delegate methods
Interstitial Video Integration
These instructions apply to games on both the Amazon and Android platforms.
The call to show a video interstitial is the same as the call to show a static interstitial, so both campaign types use this request:
/** Show interstitial video ad at location Main Menu. See /libs/chartboost.jar/com.chartboost.sdk
for available location options. **/
Chartboost.showInterstitial(CBLocation.LOCATION_MAIN_MENU);
The maximum number of rewarded video impressions that a user can receive per day, per publishing app is 20.
Custom Rewarded Video Behavior
You can reward players in different ways depending on the campaign type. Here is an example in which a networking publishing campaign video ad offers a better reward than a cross-promotion campaign video ad:
Set up two custom locations (e.g. NetworkVideo
and CrossPromo
) in your code. This lets you use the dashboard to prevent your network publishing campaign from showing ads at the CrossPromo
location, and prevent your cross-promotion campaign from showing ads at the NetworkVideo
location. To disable a campaign’s ads at a given location, select Never Show next to the location under your publishing campaign’s Advanced Settings > Logic > Custom priority settings. Learn more about logic & priorities
Check if a video is available at either location, show the appropriate prompt before playing the video, and give the appropriate reward afterward:
...
// Prepare objects to hold both types of video
Rewarded networkRewardedAd = new Rewarded("NetworkVideo", this, null);
Rewarded crossPromoRewardedAd = new Rewarded("CrossPromo", this, null);
...
// Attempt to preload a video at BOTH named locations
networkRewardedAd.cache();
crossPromoRewardedAd.cache();
...
// Check which video is available first, or if no video is available
if (networkRewardedAd.isCached()) {
// We prefer to use the monetizing video if available
// Call custom game UI prompt to offer to show a video for the NetworkVideo reward
// If the user accepts you will call
// networkRewardedAd.show();
}
else if (crossPromoRewardedAd.isCached()) {
// Call custom Game UI prompt to offer to show a video for the CrossPromo reward
// If the user accepts you will call
// crossPromoRewardedAd.show();
}
else {
// No video available
}
You can build your own UI to notify users of the reward they’ll receive if they play the video. When you’re ready to start playing the rewarded video, call showFromViewController:
on the desired ad. After the player watches the video, check the location where your game’s rewarded video delegate method is called:
- (void)didEarnReward:(CHBRewardEvent *)event {
// The event.reward value is what is set on the app's dashboard, which we are overriding
if ([event.ad.location isEqual:@"NetworkVideo"]) {
// give your user the NetworkVideo reward
} else {
// give your user the CrossPromo reward
}
}
Updated about 2 months ago