title: Unity + Admob rewarded ads : event not firing
body: <p>I am stuck with admob rewarded ads, i can't figurate how to make event working. The problem is that my quiz game reload the scene every questions and even if i prevent the ad from destroy, the event are not firing at all. The ads are showing perfectly. I have tried multiple things but i must make a mistake somewhere... Anyone have an idea ? </p>
  
  <p>Thank you very much! </p>
  
  <pre><code>using System;
  using System.Collections;
  using UnityEngine;
  using GoogleMobileAds.Api;
  
  
  public class RewardedScriptRow : MonoBehaviour
  {
      private RewardBasedVideoAd rewardBasedVideo;
      public AudioClip GiftSound;
  
      // Use this for initialization
      void Start()
      {    
          RequestInterstitial();
          Debug.Log("Load at start");
      }
  
      public void LaunchAd() //Called from another script
      {
          StartCoroutine("Load");
      }
  
      private void RequestInterstitial()
      {
  
          string adUnitId = "";
  #if UNITY_ANDROID
          adUnitId = "ca-app-pub-00000/00000000";
  #elif UNITY_IOS
           adUnitId = "ca-app-pub-0000000000000";
  #else
           adUnitId = "unexpected_platform";
  #endif
  
          // Get singleton reward based video ad reference.
          this.rewardBasedVideo = RewardBasedVideoAd.Instance;
  
          // Create an empty ad request.
          AdRequest request = new AdRequest.Builder().Build();
          // Load the interstitial with the request.
          this.rewardBasedVideo.LoadAd(request, adUnitId);
  
          rewardBasedVideo.OnAdFailedToLoad += HandleRewardBasedVideoClosed;
          rewardBasedVideo.OnAdRewarded += HandleRewardBasedVideoRewarded;
      }
  
  
      IEnumerator Load()
      {
          while (!rewardBasedVideo.IsLoaded())
              yield return new WaitForEndOfFrame();
  
          yield return new WaitForSeconds(0.0f);
          rewardBasedVideo.Show();  
          yield break;
      }
  
  
  
      //EVENT
      public void HandleRewardBasedVideoRewarded(object sender, Reward args)
      {
          GetComponent&lt;AudioSource&gt;().PlayOneShot(GiftSound, 1.0F);
          RequestInterstitial();
      }
  
      public void HandleRewardBasedVideoClosed(object sender, EventArgs args)
      {
          GetComponent&lt;AudioSource&gt;().PlayOneShot(GiftSound, 1.0F);
          RequestInterstitial();
      }
  }
  </code></pre>
  
  <p><strong>EDIT 1 :</strong> </p>
  
  <pre><code>using System;
  using System.Collections;
  using UnityEngine;
  using GoogleMobileAds.Api;
  
  
  public class RewardedScriptRow : MonoBehaviour
  {
      private RewardBasedVideoAd rewardBasedVideo;
      public AudioClip GiftSound;
      public static RewardedScriptRow Instance;
  
      // Use this for initialization
      void Start()
      {
           Instance = this;
           DontDestroyOnLoad(this);
           RequestRewardBasedVideo();
  
          rewardBasedVideo.OnAdFailedToLoad += HandleRewardBasedVideoClosed;
          rewardBasedVideo.OnAdRewarded += HandleRewardBasedVideoRewarded;
  
       }
  
      //Called after 10 questions
      public void LaunchAd() 
      {
          StartCoroutine("Load");
      }
  
      private void RequestRewardBasedVideo()
      {
  
          string adUnitId = "";
  #if UNITY_ANDROID
          adUnitId = "ca-app-pub-0000000/0000000000";
  #elif UNITY_IOS
           adUnitId = "ca-app-pub-00000/00000000";
  #else
           adUnitId = "unexpected_platform";
  #endif
  
          // Get singleton reward based video ad reference.
          this.rewardBasedVideo = RewardBasedVideoAd.Instance;
          // Create an empty ad request.
          AdRequest request = new AdRequest.Builder().Build();
          // Load the interstitial with the request.
          this.rewardBasedVideo.LoadAd(request, adUnitId);
  
      }
  
      //EVENT
      public void HandleRewardBasedVideoRewarded(object sender, Reward args)
      {
          GetComponent&lt;AudioSource&gt;().PlayOneShot(GiftSound, 1.0F); 
          RequestRewardBasedVideo();
  
      }
      public void HandleRewardBasedVideoClosed(object sender, EventArgs args)
      {
          GetComponent&lt;AudioSource&gt;().PlayOneShot(GiftSound, 1.0F);
          RequestRewardBasedVideo();
      }
  
      IEnumerator Load()
      {
          while (!rewardBasedVideo.IsLoaded())
              yield return new WaitForEndOfFrame();
  
          yield return new WaitForSeconds(0.0f);
          rewardBasedVideo.Show();
          yield break;
      }
  }
  </code></pre>
  
  <p>And this how the game work with the scenes : </p>
  
  <pre><code>SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
  </code></pre>