---
title: Rewarded Interstitial Ads | Yodo1 MAS Documentation
description: Benefits of Rewarded Interstitial Ads​
---

[Skip to content](https://info.yodo1.com/migration/knowledge/docs/sdk/getting_started/ad_units/rewarded_interstitial#main-content)

English

Show submenu for translations

![MAS LOGO.png\]](https://info.yodo1.com/hs-fs/hubfs/MAS%20LOGO.png?height=40&name=MAS%20LOGO.png)

Open main navigation

Close main navigation

- English
  
  Show submenu for translations
- Go to yodo1.com

 Go to yodo1.com

 How can we help?

- There are no suggestions because the search field is empty.

1. [MAS Knowledge Base](https://info.yodo1.com/migration/knowledge?hsLang=en)
2. [Documentation](https://info.yodo1.com/migration/knowledge/documentation?hsLang=en)
3. [ad\_units](https://info.yodo1.com/migration/knowledge/documentation?hsLang=en#ad_units)

# Rewarded Interstitial Ads | Yodo1 MAS Documentation

## Benefits of Rewarded Interstitial Ads

- <https://info.yodo1.com/?hsLang=en>
- Getting Started
- [Configuring Ad Units](https://info.yodo1.com/docs/sdk/getting_started/ad_units/?hsLang=en)
- Rewarded Interstitial Ads

On this page

# Rewarded Interstitial Ads

![](https://static.hsstatic.net/BlogImporterAssetsUI/ex/missing-image.png)

Rewarded interstitial ad units automatically appear and show full-page ads in your app that reward users for viewing ads. Place them at natural breaks & transitions in your app's interface, such as after level completion in a gaming app.

## Benefits of Rewarded Interstitial Ads<https://info.yodo1.com/migration/knowledge/docs/sdk/getting_started/ad_units/rewarded_interstitial#benefits-of-rewarded-interstitial-ads>

- Encourages longer sessions as you can implement rewarded interstitial ads to reward players in-game after they’ve completed a video view. Also, gamers are motivated to continue playing, resulting in longer sessions.
- Improve user experience, leading to higher retention as this skippable, non-intrusive ad format doesn’t interrupt players during an app event
- Make an impression: These interactive, full-screen ads can grab attention when placed at natural transition points or breaks in the game (e.g. in between activities or game levels).
- Monetise more players: Rewarded interstitials can be tested to monetise players who may not engage with rewarded video and in-app purchases.

caution

You should finish these steps before releasing.

- [Configure the SDK](https://info.yodo1.com/docs/sdk/getting_started/configure/?hsLang=en)
- [Setup Legal Frameworks](https://info.yodo1.com/docs/sdk/getting_started/legal/?hsLang=en)
- [Setup App-Ads.txt](https://info.yodo1.com/docs/sdk/additional/app_ads_txt/?hsLang=en)

## Load the ad<https://info.yodo1.com/migration/knowledge/docs/sdk/getting_started/ad_units/rewarded_interstitial#load-the-ad>

- Unity
- Java
- Kotlin
- Swift
- Objective-C
- Godot
- React Native

```
Yodo1U3dRewardedInterstitialAd.GetInstance().LoadAd();
```

```
Yodo1MasRewardedInterstitialAd.getInstance().loadAd(MainActivity.this);
```

```
Yodo1MasRewardedInterstitialAd.getInstance().loadAd(this@MainActivity)
```

```
Yodo1MasRewardedInterstitialAd.sharedInstance().load()
```

```
[[Yodo1MasRewardedInterstitialAd sharedInstance] loadAd];
```

```
yodo1mas.initialize_rewarded_interstitial_ad()yodo1mas.load_rewarded_interstitial_ad()
```

```
// Rewarded interstitial video ads are pre-loaded automatically
```

Setup the auto delay load

Loading a new ad from `OnAdLoadFailedEvent()` without delay is not recommended. If a new ad has to be loaded immediately on `OnAdLoadFailedEvent()`, then the auto-delay configuration variable must be set to true to limit ad load retries, thus avoiding continuous failed ad requests and ANR issues.

- Unity
- Java
- Kotlin
- Swift
- Objective-C
- Godot
- React Native

```
// Remember to call this function before SDK init.Yodo1U3dRewardedInterstitialAd.GetInstance().autoDelayIfLoadFail = true;
```

```
// Remember to call this function before SDK init.Yodo1MasRewardedInterstitialAd.getInstance().autoDelayIfLoadFail = true
```

```
// Remember to call this function before SDK init.Yodo1MasRewardedInterstitialAd.getInstance().autoDelayIfLoadFail = true
```

```
// Remember to call this function before SDK init.Yodo1MasRewardedInterstitialAd.sharedInstance().autoDelayIfLoadFail = true
```

```
// Remember to call this function before SDK init.[Yodo1MasRewardedInterstitialAd sharedInstance].autoDelayIfLoadFail = YES;
```

```
// No need to configure on Godot
```

```
// No need to configure on React Native
```

## Display the ad<https://info.yodo1.com/migration/knowledge/docs/sdk/getting_started/ad_units/rewarded_interstitial#display-the-ad>

You can show the ad using this code, but we recommend using the ad events as you’ll be able to show the ad once it’s loaded. You can check the full script provided below.

- Unity
- Java
- Kotlin
- Swift
- Objective-C
- Godot
- React Native

```
bool isLoaded = Yodo1U3dRewardedInterstitialAd.GetInstance().IsLoaded();// Show ad without placement nameif (isLoaded){ Yodo1U3dRewardedInterstitialAd.GetInstance().ShowAd();}// Show ad with placement name, like app_start, level_endif (isLoaded){ Yodo1U3dRewardedInterstitialAd.GetInstance().ShowAd("Your placement ID");}
```

```
boolean isLoaded = Yodo1MasRewardedInterstitialAd.getInstance().isLoaded();// Show ad without placement nameif (isLoaded) Yodo1MasRewardedInterstitialAd.getInstance().showAd(this);// Show ad with placement name, like app_start, level_endif (isLoaded) Yodo1MasRewardedInterstitialAd.getInstance().showAd(this, "Your placement ID");
```

```
val isLoaded = Yodo1MasRewardedInterstitialAd.getInstance().isLoaded()// Show ad without placement nameif (isLoaded) Yodo1MasRewardedInterstitialAd.getInstance().showAd(this@MainActivity)// Show ad with placement name, like app_start, level_endif (isLoaded) Yodo1MasRewardedInterstitialAd.getInstance().showAd(this@MainActivity, "Your placement ID")
```

```
let isLoaded = Yodo1MasRewardedInterstitialAd.sharedInstance().isLoaded()// Show ad without placement nameif isLoaded { Yodo1MasRewardedInterstitialAd.sharedInstance().show() }// Show ad with placement name, like app_start, level_endif isLoaded { Yodo1MasRewardedInterstitialAd.sharedInstance().show(withPlacement: "Your placement ID") }
```

```
BOOL isLoaded = [[Yodo1MasRewardedInterstitialAd sharedInstance] isLoaded];// Show ad without placement nameif (isLoaded) [[Yodo1MasRewardedInterstitialAd sharedInstance] showAd];// Show ad with placement name, like app_start, level_endif (isLoaded) [[Yodo1MasRewardedInterstitialAd sharedInstance] showAdWithPlacement:@"Your placement ID"];
```

```
yodo1mas.show_rewarded_interstitial_ad()
```

```
// Recommended, show the ad with a placement IDYodo1MASAds.showRewardInterstitialAdsWithPlacementId("Your placement ID");// Or show the ad without a placement IDYodo1MASAds.showRewardInterstitialAds();
```

## Configure the ad events<https://info.yodo1.com/migration/knowledge/docs/sdk/getting_started/ad_units/rewarded_interstitial#configure-the-ad-events>

The MAS SDK fires several events to inform you of ad availability.

- Unity
- Java
- Kotlin
- Swift
- Objective-C
- Godot
- React Native

```
using Yodo1.MAS;using System;public class RewardedInterstitialAdLoader : MonoBehaviour{ private int retryAttempt = 0; private void Start() { SetupEventCallbacks(); LoadRewardedInterstitial(); } private void SetupEventCallbacks() { Yodo1U3dRewardedInterstitialAd.GetInstance().OnAdLoadedEvent += OnRewardedInterstitialAdLoadedEvent; Yodo1U3dRewardedInterstitialAd.GetInstance().OnAdLoadFailedEvent += OnRewardedInterstitialAdLoadFailedEvent; Yodo1U3dRewardedInterstitialAd.GetInstance().OnAdOpenedEvent += OnRewardedInterstitialAdOpenedEvent; Yodo1U3dRewardedInterstitialAd.GetInstance().OnAdOpenFailedEvent += OnRewardedInterstitialAdOpenFailedEvent; Yodo1U3dRewardedInterstitialAd.GetInstance().OnAdClosedEvent += OnRewardedInterstitialAdClosedEvent; Yodo1U3dRewardedInterstitialAd.GetInstance().OnAdEarnedEvent += OnRewardedInterstitialAdEarnedEvent; } private void LoadRewardedInterstitial() { Yodo1U3dRewardedInterstitialAd.GetInstance().SetAdPlacement("Your placement ID"); Yodo1U3dRewardedInterstitialAd.GetInstance().LoadAd(); } private void OnRewardedInterstitialAdLoadedEvent(Yodo1U3dRewardedInterstitialAd ad) { // Code to be executed when an ad finishes loading. retryAttempt = 0; Yodo1U3dRewardedInterstitialAd.GetInstance().ShowAd(); } private void OnRewardedInterstitialAdLoadFailedEvent(Yodo1U3dRewardedInterstitialAd ad, Yodo1U3dAdError adError) { // Code to be executed when an ad request fails. retryAttempt++; double retryDelay = Math.Pow(2, Math.Min(6, retryAttempt)); Invoke("LoadRewardedInterstitial", (float)retryDelay); } private void OnRewardedInterstitialAdOpenedEvent(Yodo1U3dRewardedInterstitialAd ad) { // Code to be executed when an ad opened } private void OnRewardedInterstitialAdOpenFailedEvent(Yodo1U3dRewardedInterstitialAd ad, Yodo1U3dAdError adError) { // Code to be executed when an ad open fails. LoadRewardedInterstitial(); } private void OnRewardedInterstitialAdClosedEvent(Yodo1U3dRewardedInterstitialAd ad) { // Code to be executed when the ad closed LoadRewardedInterstitial(); } private void OnRewardedInterstitialAdEarnedEvent(Yodo1U3dRewardedInterstitialAd ad) { // Code executed when getting rewards }}
```

```
public class RewardedInterstitialActivity extends Activity implements Yodo1MasRewardedInterstitialAdListener { private final Handler handler = new Handler(Looper.getMainLooper()); private int retryAttempt;  protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_rewarded_insterstitial); Yodo1MasRewardedInterstitialAd.getInstance().setAdListener(this); Yodo1MasRewardedInterstitialAd.getInstance().autoDelayIfLoadFail = true; Yodo1MasRewardedInterstitialAd.getInstance().loadAd(this); } @Override public void onRewardedInterstitialAdLoaded(Yodo1MasRewardedInterstitialAd ad) { // Code to be executed when an ad finishes loading. retryAttempt = 0; // Show ad without placement name Yodo1MasRewardedInterstitialAd.getInstance().showAd(this); // Show ad with placement name, like app_start, level_end // Yodo1MasRewardedInterstitialAd.getInstance().showAd(this, "Your placement ID"); } @Override public void onRewardedInterstitialAdFailedToLoad(Yodo1MasRewardedInterstitialAd ad, @NonNull Yodo1MasError error) { // Code to be executed when an ad request fails. retryAttempt++; long delayMillis = TimeUnit.SECONDS.toMillis((long) Math.pow(2, Math.min(5, retryAttempt))); handler.postDelayed(new Runnable() { @Override public void run() { Yodo1MasRewardedInterstitialAd.getInstance().loadAd(this); } }, delayMillis); } @Override public void onRewardedInterstitialAdOpened(Yodo1MasRewardedInterstitialAd ad) { // Code to be executed when an ad opened } @Override public void onRewardedInterstitialAdFailedToOpen(Yodo1MasRewardedInterstitialAd ad, @NonNull Yodo1MasError error) { // Code to be executed when an ad open fails. Yodo1MasRewardedInterstitialAd.getInstance().loadAd(this); } @Override public void onRewardedInterstitialAdClosed(Yodo1MasRewardedInterstitialAd ad) { // Code to be executed when the ad closed Yodo1MasRewardedInterstitialAd.getInstance().loadAd(this); } @Override public void onRewardedInterstitialAdEarned(Yodo1MasRewardedInterstitialAd ad) { // Code executed when getting rewards }}
```

```
class RewardedInterstitialActivity: Activity(), Yodo1MasRewardedInterstitialAdListener { private val handler = Handler(Looper.getMainLooper()!!) private var retryAttempt = 0  override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_rewarded_interstitial) Yodo1MasRewardedInterstitialAd.getInstance().setAdListener(this) Yodo1MasRewardedInterstitialAd.getInstance().autoDelayIfLoadFail = true Yodo1MasRewardedInterstitialAd.getInstance().loadAd(this) }  override fun onRewardedInterstitialAdLoaded(ad: Yodo1MasRewardedInterstitialAd) { // Code to be executed when an ad finishes loading. retryAttempt = 0 // Show ad without placement name Yodo1MasRewardedInterstitialAd.getInstance().showAd(this) // Show ad with placement name, like app_start, level_end // Yodo1MasRewardedInterstitialAd.getInstance().showAd(this, "Your placement ID") } override fun onRewardedInterstitialAdFailedToLoad(ad: Yodo1MasRewardedInterstitialAd, error: Yodo1MasError) { // Code to be executed when an ad request fails. retryAttempt++ val delayMillis = TimeUnit.SECONDS.toMillis(2.toDouble().pow(5.coerceAtMost(retryAttempt)).toLong()) handler.postDelayed({ Yodo1MasRewardedInterstitialAd.getInstance().loadAd(this) }, delayMillis) } override fun onRewardedInterstitialAdOpened(ad: Yodo1MasRewardedInterstitialAd) { // Code to be executed when an ad opened } override fun onRewardedInterstitialAdFailedToOpen(ad: Yodo1MasRewardedInterstitialAd, error: Yodo1MasError) { // Code to be executed when an ad open fails. Yodo1MasRewardedInterstitialAd.getInstance().loadAd(this) } override fun onRewardedInterstitialAdClosed(ad: Yodo1MasRewardedInterstitialAd) { // Code to be executed when the ad closed Yodo1MasRewardedInterstitialAd.getInstance().loadAd(this) } override fun onRewardedInterstitialAdEarned(ad: Yodo1MasRewardedInterstitialAd) { // Code executed when getting rewards }}
```

```
class RewardedInterstitialController: UIViewController { private var retryAttempt = 0 override func viewDidLoad() { super.viewDidLoad() Yodo1MasRewardedInterstitialAd.sharedInstance().adDelegate = self Yodo1MasRewardedInterstitialAd.sharedInstance().autoDelayIfLoadFail = true Yodo1MasRewardedInterstitialAd.sharedInstance().load() }}extension RewardedInterstitialController: Yodo1MasRewardedInterstitialAdDelegate { func onRewardedInterstitialAdLoaded(_ ad: Yodo1MasRewardedInterstitialAd) { // Code to be executed when an ad finishes loading. retryAttempt = 0 // Show ad without placement name Yodo1MasRewardedInterstitialAd.sharedInstance().show() // Show ad with placement name, like app_start, level_end // Yodo1MasRewardedInterstitialAd.sharedInstance().show(withPlacement: "Your placement ID") } func onRewardedInterstitialAdFailed(toLoad ad: Yodo1MasRewardedInterstitialAd, withError error: Yodo1MasError) { // Code to be executed when an ad request fails. retryAttempt+=1 let delaySec = NSDecimalNumber(decimal: pow(2, min(5, retryAttempt))).doubleValue DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + delaySec) { Yodo1MasRewardAd.sharedInstance().load() } } func onRewardedInterstitialAdOpened(_ ad: Yodo1MasRewardedInterstitialAd) { // Code to be executed when an ad opened } func onRewardedInterstitialAdFailed(toOpen ad: Yodo1MasRewardedInterstitialAd, withError error: Yodo1MasError) { // Code to be executed when an ad open fails. Yodo1MasRewardedInterstitialAd.sharedInstance().load() } func onRewardedInterstitialAdClosed(_ ad: Yodo1MasRewardedInterstitialAd) { // Code to be executed when the ad closed Yodo1MasRewardedInterstitialAd.sharedInstance().load() } func onRewardedInterstitialAdEarned(_ ad: Yodo1MasRewardedInterstitialAd) { // Code executed when getting rewards }}
```

```
@interface RewardedInterstitialViewController()<Yodo1MasRewardedInterstitialAdDelegate>@property (nonatomic, assign) NSInteger retryAttempt;@end@implementation RewardedInterstitialViewController- (void)viewDidLoad { [super viewDidLoad]; [Yodo1MasRewardedInterstitialAd sharedInstance].adDelegate = self; [Yodo1MasRewardedInterstitialAd sharedInstance].autoDelayIfLoadFail = YES; [[Yodo1MasRewardedInterstitialAd sharedInstance] loadAd];}#pragma mark - Yodo1MasRewardedInterstitialAdDelegate- (void)onRewardedInterstitialAdLoaded:(Yodo1MasRewardedInterstitialAd *)ad { // Code to be executed when an ad finishes loading. _retryAttempt = 0; // Show ad without placement name [[Yodo1MasRewardedInterstitialAd sharedInstance] showAd]; // Show ad with placement name, like app_start, level_end // [[Yodo1MasRewardedInterstitialAd sharedInstance] showAdWithPlacement:@"Your placement ID"];}- (void)onRewardedInterstitialAdFailedToLoad:(Yodo1MasRewardedInterstitialAd *)ad withError:(Yodo1MasError *)error { // Code to be executed when an ad request fails. _retryAttempt++; NSInteger delaySec = pow(2, MIN(5, self.retryAttempt)); dispatch_after(dispatch_time(DISPATCH_TIME_NOW, delaySec * NSEC_PER_SEC), dispatch_get_main_queue(), ^{ [[Yodo1MasRewardedInterstitialAd sharedInstance] loadAd]; });}- (void)onRewardedInterstitialAdOpened:(Yodo1MasRewardedInterstitialAd *)ad { // Code to be executed when an ad opened}- (void)onRewardedInterstitialAdFailedToOpen:(Yodo1MasRewardedInterstitialAd *)ad withError:(Yodo1MasError *)error { // Code to be executed when an ad open fails. [[Yodo1MasRewardedInterstitialAd sharedInstance] loadAd];}- (void)onRewardedInterstitialAdClosed:(Yodo1MasRewardedInterstitialAd *)ad { // Code to be executed when the ad closed [[Yodo1MasRewardedInterstitialAd sharedInstance] loadAd];}- (void)onRewardedInterstitialAdEarned:(Yodo1MasRewardedInterstitialAdAd *)ad { // Code executed when getting rewards}@end
```

```
func _on_interstitial_rewarded_ad_loaded() -> void: emit_signal("interstitial_rewarded_ad_loaded")func _on_interstitial_rewarded_ad_failed_load() -> void: emit_signal("interstitial_rewarded_ad_not_loaded")func _on_interstitial_rewarded_ad_opened() -> void: emit_signal("interstitial_rewarded_ad_opened")func _on_interstitial_rewarded_ad_failed_to_opened() -> void: emit_signal("interstitial_rewarded_ad_failed_to_opened")func _on_interstitial_rewarded_ad_closed() -> void: emit_signal("interstitial_rewarded_ad_closed")func _on_interstitial_rewarded_ad_earned() -> void: print("Godot app -> yodo1mas, _on_interstitial_rewarded_ad_earned") emit_signal("interstitial_rewarded_ad_earned")
```

```
const handleEvents = ({value}) => { __DEV__ && console.log(`Event: ${value}`); switch (value) { case 'onRewardedInterstitialAdEarned': // Handle the event when the user has earned a reward break; case 'onRewardedInterstitialAdLoaded': // Handle the event when the ad is loaded break; case 'onRewardedInterstitialAdOpened': // Handle the event when the ad is opened break; case 'onRewardedInterstitialAdClosed': // Handle the event when the ad is closed break; case 'onRewardedInterstitialAdFailedToLoad': // Ad failed to load, let's try again after a delay break; case 'onRewardedInterstitialAdFailedToOpen': // Ad failed to open, let's try again after a delay break; }};export const registerYodo1MAS = () => { const eventEmitter = new NativeEventEmitter(Yodo1MASAds); const eventListener = eventEmitter.addListener('adEvent', handleEvents); // If needed, pass CCPA, COPPA, GDPR values in the initSDK method Yodo1MASAds.initMasSdk(true, true, true); return eventListener;};
```

## Impression-Level User Revenue<https://info.yodo1.com/migration/knowledge/docs/sdk/getting_started/ad_units/rewarded_interstitial#impression-level-user-revenue>

Starting in SDK version 4.13.2, you can access impression-level user revenue data on the client side. You can use this data to compare different sources and campaigns.

You can share impression-level ad revenue data with your mobile measurement partner of choice.

You can retrieve the revenue amount in all ad lifecycle callbacks. The following example shows how to do this within callback:

- Unity
- Java
- Kotlin
- Swift
- Objective-C

```
Yodo1U3dRewardedInterstitialAd.GetInstance().OnAdPayRevenueEvent += OnRewardedInterstitialAdPayRevenueEvent;private void OnRewardedInterstitialAdPayRevenueEvent(Yodo1U3dRewardedInterstitialAd ad, Yodo1U3dAdValue adValue){ double revenue = adValue.Revenue; string currency = adValue.Currency;}
```

```
Yodo1U3dRewardedInterstitialAd.GetInstance().setAdRevenueListener(new Yodo1MasRewardedInterstitialAdRevenueListener() { @Override public void onRewardedInterstitialAdPayRevenue(Yodo1MasRewardedInterstitialAd ad, Yodo1MasAdValue adValue) { double revenue = adValue.getRevenue(); String currency = adValue.getCurrency(); }});
```

```
Yodo1U3dRewardedInterstitialAd.GetInstance().setAdRevenueListener { ad, adValue -> val revenue = adValue.revenue val currency = adValue.currency}
```

```
Yodo1MasRewardedInterstitialAd.sharedInstance().adRevenueDelegate = selffunc onRewardedInterstitialAdPayRevenue(_ ad: Yodo1MasRewardAd, _ adValue: Yodo1MasAdValue){ let revenue = adValue.revenue let currency = adValue.currency}
```

```
[Yodo1MasRewardedInterstitialAd sharedInstance].adRevenueDelegate = self;#pragma mark - Yodo1MasRewardedInterstitialAdRevenueDelegate- (void)onRewardedInterstitialAdPayRevenue:(Yodo1MasRewardedInterstitialAd *)ad withAdValue:(Yodo1MasAdValue *)adValue { double revenue = adValue.revenue; NSString *currency = adValue.currency;}
```

You can also retrieve a precision evaluation for the revenue value, as shown in the following example:

- Unity
- Java
- Kotlin
- Swift
- Objective-C

```
string revenuePrecision = adValue.RevenuePrecision;
```

```
String revenuePrecision = adValue.getRevenuePrecision();
```

```
val revenuePrecision = adValue.revenuePrecision
```

```
let revenuePrecision = adValue.revenuePrecision
```

```
NSString *revenuePrecision = adValue.revenuePrecision;
```

## Best Practices<https://info.yodo1.com/migration/knowledge/docs/sdk/getting_started/ad_units/rewarded_interstitial#best-practices>

### 1. Preload<https://info.yodo1.com/migration/knowledge/docs/sdk/getting_started/ad_units/rewarded_interstitial#1-preload>

We recommend that you preload the rewarded interstitial ad before showing it. This will ensure the ad is ready to be displayed when needed.

### 2. Placement<https://info.yodo1.com/migration/knowledge/docs/sdk/getting_started/ad_units/rewarded_interstitial#2-placement>

We recommend setting the placement name when you load and show the ad. This will help you track each placement's performance in the dashboard.

### 3. Handle Failures<https://info.yodo1.com/migration/knowledge/docs/sdk/getting_started/ad_units/rewarded_interstitial#3-handle-failures>

If the ad fails to load, you should NOT try to reload immediately. Instead, it would be best if you waited a while before reloading the ad again. We recommend waiting at least 10 seconds before trying to fill the ad.

- [News and Updates](https://info.yodo1.com/migration/knowledge/news-and-updates?hsLang=en)
- [Documentation](https://info.yodo1.com/migration/knowledge/documentation?hsLang=en#main-content)

    - [advanced](https://info.yodo1.com/migration/knowledge/documentation?hsLang=en#advanced)
    - [installing](https://info.yodo1.com/migration/knowledge/documentation?hsLang=en#installing)
    - [legal](https://info.yodo1.com/migration/knowledge/documentation?hsLang=en#legal)
    - [configure](https://info.yodo1.com/migration/knowledge/documentation?hsLang=en#configure)
    - [troubleshooting](https://info.yodo1.com/migration/knowledge/documentation?hsLang=en#troubleshooting)
    - [support](https://info.yodo1.com/migration/knowledge/documentation?hsLang=en#support)
    - [ad\_units](https://info.yodo1.com/migration/knowledge/documentation?hsLang=en#ad_units)
    - [best\_practice](https://info.yodo1.com/migration/knowledge/documentation?hsLang=en#best_practice)
    - [payments](https://info.yodo1.com/migration/knowledge/documentation?hsLang=en#payments)
    - [account\_set\_up](https://info.yodo1.com/migration/knowledge/documentation?hsLang=en#account_set_up)
    - [user\_management](https://info.yodo1.com/migration/knowledge/documentation?hsLang=en#user_management)
    - [welcome](https://info.yodo1.com/migration/knowledge/documentation?hsLang=en#welcome)
    - [getting\_started](https://info.yodo1.com/migration/knowledge/documentation?hsLang=en#getting_started)
    - [additional](https://info.yodo1.com/migration/knowledge/documentation?hsLang=en#additional)

[![Chill listening crop-3](https://info.yodo1.com/hs-fs/hubfs/Yodo1_logo_web-2.png?width=81&height=37&name=Yodo1_logo_web-2.png "Chill listening crop-3")](http://www.yodo1.com)

MAS Knowledge Base

<https://www.facebook.com/Yodo1Games/> <https://twitter.com/yodo1games> <https://www.linkedin.com/authwall?trk=gf&trkInfo=AQFmHf-kJKnzeAAAAX_0zxNwJm9yVFmRRn1peWCuMsAZ_4z_9_7fazOzfyBIxKqw8CKSV9u3eyx3bheNvlEbiI9DYEC6AYOuIpN5MBLOqeHOaWYRsqOC18zIcwdlXAbTdb-ut5w=&originalReferer=https://www.yodo1.com/&sessionRedirect=https%3A%2F%2Fwww.linkedin.com%2Fcompany%2Fyodo1> <https://www.youtube.com/user/Yodo1Games>

Copyright © 2026, Yodo1