Chartboost Video

Last Update:

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:

  • Did you download and integrate the latest Chartboost SDK?
  • Did you upload creative assets like video ads, custom frames (optional), reward currency images (rewarded videos only), and post-roll creatives?
  • Did you start a campaign in your dashboard? When setting up your campaign, select an Ad Type from the dropdown:

Publishing campaigns can choose between Rewarded Video or Video Interstitial ad types. Advertising campaigns have only a generic Video option available because the publisher decides whether your videos will be regular interstitials or rewarded videos.
Publishers please note: The call to show a video interstitial is the same as the call to show a static interstitial. If you want your video ads to show before any other campaigns running simultaneously in the same named location, set your interstitial video campaigns to a higher priority. Learn more about campaign priorities ▶
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.
Got more questions? Read the Chartboost Video FAQs ▶

 

Now let's turn on Chartboost video! Choose your platform:

Note: Amazon integration uses the same SDK as Android.

 


 

Rewarded video integration for iOS

To show a rewarded video, including pre-roll offer screens and post-roll creatives, add this call:
// Show rewarded video pre-roll message and video ad at location Main Menu. See Chartboost.h 
for available location options.

[Chartboost showRewardedVideo:CBLocationMainMenu];
	
We recommend that you attempt to cache the video ad and verify that content exists before making the show call:
// Cache rewarded video pre-roll message and video ad at location Main Menu. See Chartboost.h 
for available location options.

[Chartboost cacheRewardedVideo:CBLocationMainMenu];

...

if([Chartboost hasRewardedVideo:CBLocationMainMenu]) {
[Chartboost showRewardedVideo:CBLocationMainMenu]; } else { // We don't have a cached video right now, but try to get one for next time [Chartboost cacheRewardedVideo:CBLocationMainMenu]; }
The maximum number of rewarded and interstitial 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:
- (void)didCompleteRewardedVideo:(CBLocation)location withReward:(int)reward;
	
Learn more about delegate methods ▶
Check out more SDK features ▶
Customize your rewarded video's behavior ▶

 

▲ Back to top

 


Interstitial video integration for iOS

Because the call to show an interstitial video is the same as the call to show a static interstitial, both use this request:
// Show interstitial video ad at location Main Menu. See Chartboost.h for available location options.

[Chartboost showInterstitial:CBLocationMainMenu];
	
The maximum number of rewarded and interstitial video impressions that a user can receive per day, per publishing app is 20.
Check out more SDK features ▶
Customize your rewarded video's behavior ▶

 

▲ Back to top

 


Rewarded video integration for Android

These instructions apply to games on both the Amazon and Android platforms.
To show a rewarded video, including pre-roll offer screens and post-roll creatives, add this call:
/** Show rewarded video pre-roll message and 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 pre-roll message and 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 and interstitial 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 ▶
Check out more SDK features ▶
Customize your rewarded video's behavior ▶

 

▲ Back to top

 


 

Interstitial video integration for Android

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 and interstitial video impressions that a user can receive per day, per publishing app is 20.
Check out more SDK features ▶
Customize your rewarded video's behavior ▶

 

▲ Back to top

 


 

Rewarded video integration for Unity

To show a rewarded video, including pre-roll offer screens and post-roll creatives, add this call:
Chartboost.showRewardedVideo(CBLocation.MainMenu);
We recommend that you attempt to cache the video ad and verify that content exists before making the show call:
/** Cache rewarded video pre-roll message and video ad at location Main Menu. 
See /assets/chartboost/scripts/chartboost.cs for available location options. **/

Chartboost.cacheRewardedVideo(CBLocation.MainMenu);

...

if (Chartboost.hasRewardedVideo(CBLocation.MainMenu) { 
Chartboost.showRewardedVideo(CBLocation.MainMenu); } else { // We don't have a cached video right now, but try to get one for next time Chartboost.cacheRewardedVideo(CBLocation.MainMenu); }
The maximum number of rewarded and interstitial 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:
void didCompleteRewardedVideo(CBLocation location, int reward)
	
Learn more about delegate methods ▶
Check out more SDK features ▶
Customize your rewarded video's behavior ▶

 

▲ Back to top

 


 

Interstitial video integration for Unity

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:
Chartboost.showInterstitial(CBLocation.MainMenu);
The maximum number of rewarded and interstitial video impressions that a user can receive per day, per publishing app is 20.
Check out more SDK features ▶
Customize your rewarded video's behavior ▶

 

▲ Back to top

 


 

Rewarded video integration for Adobe AIR

To show a rewarded video, including pre-roll offer screens and post-roll creatives, add this call:
Chartboost.getInstance().showRewardedVideo(CBLocation.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 pre-roll message and video ad at location Main Menu. **/

Chartboost.getInstance().cacheRewardedVideo(CBLocation.MAIN_MENU);

...

if (Chartboost.getInstance().hasRewardedVideo(CBLocation.MAIN_MENU) { 
Chartboost.getInstance().showRewardedVideo(CBLocation.MAIN_MENU); } else { // We don't have a cached video right now, but try to get one for next time Chartboost.getInstance().cacheRewardedVideo(CBLocation.MAIN_MENU); }
The maximum number of rewarded and interstitial video impressions that a user can receive per day, per publishing app is 20.
To see when a reward is ready to be delivered, listen to the following Chartboost event:
ChartboostEvent.DID_COMPLETE_REWARDED_VIDEO
	
Learn more about delegate methods ▶
Check out more SDK features ▶
Customize your rewarded video's behavior ▶

 

▲ Back to top

 


 

Interstitial video integration for Adobe AIR

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:
Chartboost.getInstance().showInterstitial(CBLocation.MAIN_MENU);
	
Check out more SDK features ▶
Customize your rewarded video's behavior ▶

 

▲ Back to top

 


 

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:
...
// Attempt to preload a video at BOTH named locations
[Chartboost cacheRewardedVideo:@"NetworkVideo"];
[Chartboost cacheRewardedVideo:@"CrossPromo"];
...
// Check which video is available first, or if no video is available
if([Chartboost hasRewardedVideo:@"NetworkVideo"] == YES) {
	// 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 [Chartboost showRewardedVideo:@"NetworkVideo"];
}
else if ([Chartboost hasRewardedVideo:@"CrossPromo"] == YES) {
	// Call custom Game UI prompt to offer to show a video for the CrossPromo reward
	// If the user accepts you will call [Chartboost showRewardedVideo:@"CrossPromo"];
}
else {
	// No video available
}
	
  • Because you are offering different rewards based on different locations, you should turn off the default Chartboost pre-roll confirmation experience and implement your own. Uncheck the Show Pre-Roll Confirmation and Show Post-Roll Confirmation boxes in your app's Rewarded Video > Advanced Settings panel to have full control over the reward messaging:

  • Now that you’ve turned off the default Chartboost pre-roll confirmation experience, 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 showRewardedVideo at the desired location.
  • After the player watches the video, check the location where your game's rewarded video delegate method is called:
- (void)didCompleteRewardedVideo:(CBLocation)location withReward:(int)reward {
	// The reward value is what is set on the app's dashboard, which we are overriding
	if(location == @"NetworkVideo") {
		//give your user the NetworkVideo reward
	}
	else {
		//give your user the CrossPromo reward
	}
}
	
Learn more about delegate methods ▶

 

▲ Back to top

 


You might also like...