123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- using System;
- using UnityEngine;
- public class MAXReward : MonoBehaviour
- {
- private int _idRewardButton;
- // Level counter for launching Interstitial
- private static int AdsInterCounter;
- string adUnitIdREWARD = "YOUR_AD_UNIT_ID";
- string adUnitIdInterstitial = "YOUR_AD_UNIT_ID";
- int retryAttempt;
- private void Awake()
- {
- _idRewardButton = -1;
- }
- private void Init()
- {
- MaxSdkCallbacks.OnSdkInitializedEvent += (MaxSdkBase.SdkConfiguration sdkConfiguration) =>
- {
- // AppLovin SDK is initialized, start loading ads
- };
- MaxSdk.SetSdkKey("YOUR_SDK_KEY");
- MaxSdk.InitializeSdk();
- }
- private void Start()
- {
- Init();
- InitializeRewardedAds();
- InitializeInterstitialAds();
-
- AdsInterCounter++;
- if (AdsInterCounter >= 2)
- {
- AdsInterCounter = 0;
- //ShowInterAdv;
- ShowInterstitial();
- }
- }
- //ADS BUTTON
- public void AdsGetReward(int _id)
- {
- _idRewardButton = _id;
- //ShowRewardAdv;
- if (MaxSdk.IsRewardedAdReady(adUnitIdREWARD))
- {
- MaxSdk.ShowRewardedAd(adUnitIdREWARD);
- }
- }
- // If the ad is successful, then the function
- private void GetReward()
- {
- switch (_idRewardButton)
- {
- case 1:
- ComponentsManager.UpgradeUI.UpgradeWarriors();
- break;
- case 2:
- ComponentsManager.UpgradeUI.UpgradeArchers();
- break;
- }
- }
- public void ShowInterstitial()
- {
- if (MaxSdk.IsInterstitialReady(adUnitIdInterstitial))
- {
- MaxSdk.ShowInterstitial(adUnitIdInterstitial);
- }
- }
- 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(adUnitIdREWARD);
- }
- 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)
- {
- GetReward();
- }
- private void OnRewardedAdRevenuePaidEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
- {
- // Ad revenue paid. Use this callback to track user revenue.
- }
- 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(adUnitIdInterstitial);
- }
- 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
- retryAttempt = 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)
- retryAttempt++;
- double retryDelay = Math.Pow(2, Math.Min(6, retryAttempt));
- 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();
- }
- }
|