Your Cart
Loading
Unity Ads Tutorial Unity Ads Integration Unity Rewarded Ads Tutorial

Unity Ads Tutorial | Unity Tutorial

Unity Ads Tutorial | Unity Tutorial


Ready to monetize your game? Check out our latest tutorial on integrating Unity Ads with your project! 📱✨ We cover everything from setting up banner ads to configuring ad positions and handling ad loading. Whether you're new to Unity Ads or want to sharpen your skills, this guide has got you covered. Dive in and start boosting your game’s revenue today!



WATCH FULL TUTORIAL ON YOUTUBE



CHECK OUR PROJECTS


SUBSCRIBE FOR LATEST OFFERS



=========================================================


Unity Projects - ON SALE!!!


1. Water Sort Puzzle 9000 Levels

https://payhip.com/b/cjDb8


2. Ball Sort Puzzle 9000 Levels

https://payhip.com/b/IbtoD


3. Sling Shot

https://payhip.com/b/PjLDH



=========================================================



Script:


Initialize.cs



using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using System;

using UnityEngine.UI;

using UnityEngine.Advertisements;


public class Initialize : MonoBehaviour, IUnityAdsInitializationListener

{


public string gameID = "";

[SerializeField] bool testMode = true;




  private void Start()

  {

    InitializeAds();

  }



  private void InitializeAds()

  {

    if (!Advertisement.isInitialized && Advertisement.isSupported)

    {

      Advertisement.Initialize(gameID, testMode, this);

    }

  }


public void OnInitializationComplete()

  {

    Debug.Log("Unity Ads initialization complete.");

  }


  public void OnInitializationFailed(UnityAdsInitializationError error, string message)

  {

    Debug.Log($"Unity Ads Initialization Failed: {error.ToString()} - {message}");

  }

}



Banner.cs


using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using System;

using UnityEngine.UI;

using UnityEngine.Advertisements;


public class Banner : MonoBehaviour

{


public string bannerID = "";

[SerializeField] BannerPosition _bannerPosition = BannerPosition.BOTTOM_CENTER;



  // Start is called before the first frame update

  void Start()

  {

    Advertisement.Banner.SetPosition(_bannerPosition);

    //ShowBannerAd();

  }


  // Update is called once per frame

  void Update()

  {

     

  }


public void LoadBanner()

  {

    BannerLoadOptions options = new BannerLoadOptions

    {

      loadCallback = OnBannerLoaded,

      errorCallback = OnBannerError

    };


    Advertisement.Banner.Load(bannerID, options);

  }


void OnBannerLoaded()

  {

    Debug.Log("Banner loaded");


  }


  void OnBannerError(string message)

  {

    Debug.Log($"Banner Error: {message}");

  }


  public void ShowBannerAd()

  {

    BannerOptions options = new BannerOptions

    {

      clickCallback = OnBannerClicked,

      hideCallback = OnBannerHidden,

      showCallback = OnBannerShown

    };


    Advertisement.Banner.Show(bannerID, options);

  }


  void HideBannerAd()

  {

    Advertisement.Banner.Hide();

  }


  void OnBannerClicked() { }

  void OnBannerShown() { }

  void OnBannerHidden() { }

}



Interstitial


using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using System;

using UnityEngine.UI;

using UnityEngine.Advertisements;


public class Interstitial : MonoBehaviour, IUnityAdsLoadListener, IUnityAdsShowListener

{


public string interstitialID = "";



  void Start()

  {

    LoadInterstitialAd();

  }


public void LoadInterstitialAd()

  {

    Advertisement.Load(interstitialID, this);

  }


public void ShowInterstitialAd()

  {

    Advertisement.Show(interstitialID, this);

  }


public void OnUnityAdsAdLoaded(string adUnitId)

  {

    // Optionally execute code if the Ad Unit successfully loads content.

  }

 

  public void OnUnityAdsFailedToLoad(string _adUnitId, UnityAdsLoadError error, string message)

  {

    Debug.Log($"Error loading Ad Unit: {_adUnitId} - {error.ToString()} - {message}");

    // Optionally execute code if the Ad Unit fails to load, such as attempting to try again.

LoadInterstitialAd();

  }

 

  public void OnUnityAdsShowFailure(string _adUnitId, UnityAdsShowError error, string message)

  {

    Debug.Log($"Error showing Ad Unit {_adUnitId}: {error.ToString()} - {message}");

    // Optionally execute code if the Ad Unit fails to show, such as loading another ad.

LoadInterstitialAd();

  }

 

  public void OnUnityAdsShowStart(string _adUnitId) { }

  public void OnUnityAdsShowClick(string _adUnitId) { }

  public void OnUnityAdsShowComplete(string _adUnitId, UnityAdsShowCompletionState showCompletionState) { }

}



Rewarded



using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using System;

using UnityEngine.UI;

using UnityEngine.Advertisements;


public class Rewarded : MonoBehaviour, IUnityAdsLoadListener, IUnityAdsShowListener

{


public string rewardedID = "";


public int playerCoins = 0;

public int coinsToAdd = 10;

public Text coinText;


  // Start is called before the first frame update

  void Start()

  {

playerCoins = PlayerPrefs.GetInt("PlayerCoins", 0);

    LoadRewardedAd();

UpdateCoinDisplay();

  }


public void LoadRewardedAd()

  {

    Advertisement.Load(rewardedID, this);

  }


  public void OnUnityAdsAdLoaded(string adUnitId)

  {

    //

  }


  public void ShowRewardedAd()

  {

    Advertisement.Show(rewardedID, this);

  }


  public void OnUnityAdsShowComplete(string adUnitId, UnityAdsShowCompletionState showCompletionState)

  {

    if (adUnitId.Equals(rewardedID) && showCompletionState.Equals(UnityAdsShowCompletionState.COMPLETED))

    {

      Debug.Log("Unity Ads Rewarded Ad Completed");

      // Reward the player with coins

      AddCoins(coinsToAdd);

    }

  }


  public void OnUnityAdsFailedToLoad(string adUnitId, UnityAdsLoadError error, string message)

  {

    Debug.Log($"Error loading Ad Unit {adUnitId}: {error.ToString()} - {message}");

    LoadRewardedAd();

  }


  public void OnUnityAdsShowFailure(string adUnitId, UnityAdsShowError error, string message)

  {

    Debug.Log($"Error showing Ad Unit {adUnitId}: {error.ToString()} - {message}");

    LoadRewardedAd();

  }


  public void OnUnityAdsShowStart(string adUnitId) { }

  public void OnUnityAdsShowClick(string adUnitId) { }


private void AddCoins(int amount)

  {

    playerCoins += amount;

    Debug.Log($"Player received {amount} coins. Total coins: {playerCoins}");

    // Save the updated coin balance

    PlayerPrefs.SetInt("PlayerCoins", playerCoins);

    PlayerPrefs.Save(); // Ensure the data is saved immediately


    UpdateCoinDisplay(); // Update the display when coins are added

  }


private void UpdateCoinDisplay()

  {

    if (coinText != null)

    {

      coinText.text = $"Coins: {playerCoins}";

    }

  }


private void OnApplicationQuit()

  {

    // Optionally save the coin balance on exit

    PlayerPrefs.SetInt("PlayerCoins", playerCoins);

    PlayerPrefs.Save();

  }


}





DOWNLOAD CODESTER FILES