64 lines
2.3 KiB
C#
64 lines
2.3 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System;
|
|
using UnityEngine;
|
|
|
|
public partial class AdManager
|
|
{
|
|
int retryAttemptInterstitial;
|
|
|
|
public void InitializeInterstitialAds()
|
|
{
|
|
// Attach callback
|
|
MaxSdkCallbacks.Interstitial.OnAdLoadedEvent += OnInterstitialLoadedEvent;
|
|
MaxSdkCallbacks.Interstitial.OnAdLoadFailedEvent += OnInterstitialLoadFailedEvent;
|
|
MaxSdkCallbacks.Interstitial.OnAdDisplayedEvent += OnInterstitialDisplayedEvent;
|
|
MaxSdkCallbacks.Interstitial.OnAdClickedEvent += OnInterstitialClickedEvent;
|
|
MaxSdkCallbacks.Interstitial.OnAdHiddenEvent += OnInterstitialHiddenEvent;
|
|
MaxSdkCallbacks.Interstitial.OnAdDisplayFailedEvent += OnInterstitialAdFailedToDisplayEvent;
|
|
|
|
// Load the first interstitial
|
|
LoadInterstitial();
|
|
}
|
|
|
|
private void LoadInterstitial()
|
|
{
|
|
MaxSdk.LoadInterstitial(adInterstitialUnitId);
|
|
}
|
|
|
|
private void OnInterstitialLoadedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
|
|
{
|
|
// Interstitial ad is ready for you to show. MaxSdk.IsInterstitialReady(adUnitId) now returns 'true'
|
|
|
|
// Reset retry attempt
|
|
retryAttemptInterstitial = 0;
|
|
}
|
|
|
|
private void OnInterstitialLoadFailedEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo)
|
|
{
|
|
// Interstitial ad failed to load
|
|
// AppLovin recommends that you retry with exponentially higher delays, up to a maximum delay (in this case 64 seconds)
|
|
|
|
retryAttemptInterstitial++;
|
|
double retryDelay = Math.Pow(2, Math.Min(6, retryAttemptInterstitial));
|
|
|
|
Invoke("LoadInterstitial", (float)retryDelay);
|
|
}
|
|
|
|
private void OnInterstitialDisplayedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo) { }
|
|
|
|
private void OnInterstitialAdFailedToDisplayEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo, MaxSdkBase.AdInfo adInfo)
|
|
{
|
|
// Interstitial ad failed to display. AppLovin recommends that you load the next ad.
|
|
LoadInterstitial();
|
|
}
|
|
|
|
private void OnInterstitialClickedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo) { }
|
|
|
|
private void OnInterstitialHiddenEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
|
|
{
|
|
// Interstitial ad is hidden. Pre-load the next ad.
|
|
LoadInterstitial();
|
|
}
|
|
}
|