Rewarded Ads
Loading a Rewarded Ad
The following code shows you how to attach listeners and load the first rewarded ad:
#if UNITY_IOSstring adUnitId = "«iOS-ad-unit-ID»";#else // UNITY_ANDROIDstring adUnitId = "«Android-ad-unit-ID»";#endif
int retryAttempt;
public void InitializeRewardedAds(){ // Attach callback MaxSdkCallbacks.Rewarded.OnAdLoadedEvent += OnRewardedAdLoadedEvent; MaxSdkCallbacks.Rewarded.OnAdLoadFailedEvent += OnRewardedAdLoadFailedEvent; MaxSdkCallbacks.Rewarded.OnAdDisplayedEvent += OnRewardedAdDisplayedEvent; MaxSdkCallbacks.Rewarded.OnAdClickedEvent += OnRewardedAdClickedEvent; MaxSdkCallbacks.Rewarded.OnAdRevenuePaidEvent += OnRewardedAdRevenuePaidEvent; MaxSdkCallbacks.Rewarded.OnAdHiddenEvent += OnRewardedAdHiddenEvent; MaxSdkCallbacks.Rewarded.OnAdDisplayFailedEvent += OnRewardedAdFailedToDisplayEvent; MaxSdkCallbacks.Rewarded.OnAdReceivedRewardEvent += OnRewardedAdReceivedRewardEvent;
// Load the first rewarded ad LoadRewardedAd();}
private void LoadRewardedAd(){ MaxSdk.LoadRewardedAd(adUnitId);}
private void OnRewardedAdLoadedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo){ // Rewarded ad is ready for you to show. MaxSdk.IsRewardedAdReady(adUnitId) now returns 'true'.
// Reset retry attempt retryAttempt = 0;}
private void OnRewardedAdLoadFailedEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo){ // Rewarded ad failed to load // AppLovin recommends that you retry with exponentially higher delays, up to a maximum delay (in this case 64 seconds).
retryAttempt++; double retryDelay = Math.Pow(2, Math.Min(6, retryAttempt));
Invoke("LoadRewardedAd", (float) retryDelay);}
private void OnRewardedAdDisplayedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo) {}
private void OnRewardedAdFailedToDisplayEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo, MaxSdkBase.AdInfo adInfo){ // Rewarded ad failed to display. AppLovin recommends that you load the next ad. LoadRewardedAd();}
private void OnRewardedAdClickedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo) {}
private void OnRewardedAdHiddenEvent(string adUnitId, MaxSdkBase.AdInfo adInfo){ // Rewarded ad is hidden. Pre-load the next ad LoadRewardedAd();}
private void OnRewardedAdReceivedRewardEvent(string adUnitId, MaxSdk.Reward reward, MaxSdkBase.AdInfo adInfo){ // The rewarded ad displayed and the user should receive the reward.}
private void OnRewardedAdRevenuePaidEvent(string adUnitId, MaxSdkBase.AdInfo adInfo){ // Ad revenue paid. Use this callback to track user revenue.}
Showing a Rewarded Ad
To show a rewarded ad, call ShowRewardedAd()
:
if (MaxSdk.IsRewardedAdReady(adUnitId)){ MaxSdk.ShowRewardedAd(adUnitId);}
Accessing the Amount and Currency for a Rewarded Ad
To access the reward amount and currency, override the OnRewardedAdReceivedRewardEvent()
callback:
private void OnRewardedAdReceivedRewardEvent(string adUnitId, MaxSdk.Reward reward, MaxSdkBase.AdInfo adInfo){ print("Rewarded user: " + reward.Amount + " " + reward.Label);}
S2S Rewarded Callbacks
You can receive callbacks to your currency server. To learn how, see the MAX S2S Rewarded Callback API guide. Then update the Server Side Callback URL in your Edit Ad Unit page.
Setting the Amount and Currency for a Rewarded Ad
To set the reward amount and currency:
- Click Add S2S Reward Callback in your Edit Ad Unit page:
- Add the Server Side Callback URL, Reward Amount, and Rewarded Currency Name: