Witam,
mam problem z wyświetlaniem reklam video z nagrodami. Reklama ma dawać określoną ilość amunicji w grze w zamian za jej obejrzenie. Wszystko już zaimplementowałem i mogłoby się wydawać, że wszystko działa, ale niestety. W Unity widzę w logach, że reklama się zamyka i mogę dowolną ilość razu reklamę puszczać, ale niestety w telefonie już tak nie działa. Myślałem, że to wina tego, że wszystkie rodzaje reklam mam wbite w jedną funkcję. Rozdzieliłem to na osobne w taki sposób, że każdy przycisk od reklamy video jest obsługiwany przez osobną funkcję, ale nie pomogło. Załączam cały kod.

using System.Collections;
using System.Collections.Generic;
using GoogleMobileAds.Api;
using UnityEngine;
using UnityEngine.UI;

public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    private InterstitialAd interstitial;
    public float amo = 0;
    public Text textAmo;
    private RewardBasedVideoAd rewardBasedVideoAmo10, rewardBasedVideoAmo20, rewardBasedVideoAmo30, rewardBasedVideoAmo50, rewardBasedVideoAmo100;
    //when publishing app 
    public bool publishingApp;
    // Start is called before the first frame update
    void Start()
    {
        if (publishingApp)
        {
#if UNITY_ANDROID
            string appId = "ca-app-pub-1155371345146551~6915234584";
#elif UNITY_IPHONE
            string appId = "ca-app-pub-1155371345146551~6915234584";
#else
            string appId = "unexpected_platform";
#endif

            // Initialize the Google Mobile Ads SDK.
            MobileAds.Initialize(appId);

        }


        //REWARDED ADS

        //REQUEST VIDEO
        this.RequestRewardBasedVideo();
        RequestInterstitial();





    }
    private void RequestInterstitial()
    {
#if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/1033173712";
#elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/4411468910";
#else
        string adUnitId = "unexpected_platform";
#endif

        // Initialize an InterstitialAd.
        this.interstitial = new InterstitialAd(adUnitId);
        if (publishingApp)
        {
            // Create an empty ad request.
            AdRequest request = new AdRequest.Builder().Build();
            // Load the interstitial with the request.
            this.interstitial.LoadAd(request);

        }
        else
        {
            // Create an empty ad request.
            AdRequest request = new AdRequest.Builder()
                .AddTestDevice("2077ef9a63d2b398840261c8221a0c9b").Build();
            // Load the interstitial with the request.
            this.interstitial.LoadAd(request);
        }


    }
    private void RequestRewardBasedVideo()
    {
#if UNITY_ANDROID
        string adUnitIdAmo10 = "ca-app-pub-1155371345146551/6943154748";
        string adUnitIdAmo20 = "ca-app-pub-1155371345146551/8205045772";
        string adUnitIdAmo30 = "ca-app-pub-1155371345146551/8565219992";
        string adUnitIdAmo50 = "ca-app-pub-1155371345146551/2167332600";
        string adUnitIdAmo100 = "ca-app-pub-1155371345146551/4601924256";
#elif UNITY_IPHONE
            string adUnitIdAmo10 = "ca-app-pub-1155371345146551/6943154748";
            string adUnitIdAmo20 = "ca-app-pub-1155371345146551/8205045772";
            string adUnitIdAmo30 = "ca-app-pub-1155371345146551/8565219992";
            string adUnitIdAmo50 = "ca-app-pub-1155371345146551/2167332600";
            string adUnitIdAmo100 = "ca-app-pub-1155371345146551/4601924256";
#else
            string adUnitIdAmo10 = "unexpected_platform";
            string adUnitIdAmo20 = "unexpected_platform";
            string adUnitIdAmo30 = "unexpected_platform";
            string adUnitIdAmo50 = "unexpected_platform";
            string adUnitIdAmo100 = "unexpected_platform";
#endif
        rewardBasedVideoAmo10 = RewardBasedVideoAd.Instance;
        rewardBasedVideoAmo20 = RewardBasedVideoAd.Instance;
        rewardBasedVideoAmo30 = RewardBasedVideoAd.Instance;
        rewardBasedVideoAmo50 = RewardBasedVideoAd.Instance;
        rewardBasedVideoAmo100 = RewardBasedVideoAd.Instance;
        if (publishingApp)
        {
            // Create an empty ad request.
            AdRequest request = new AdRequest.Builder().Build();
            // Load the rewarded video ad with the request.
            this.rewardBasedVideoAmo10.LoadAd(request, adUnitIdAmo10);
            this.rewardBasedVideoAmo20.LoadAd(request, adUnitIdAmo20);
            this.rewardBasedVideoAmo30.LoadAd(request, adUnitIdAmo30);
            this.rewardBasedVideoAmo50.LoadAd(request, adUnitIdAmo50);
            this.rewardBasedVideoAmo100.LoadAd(request, adUnitIdAmo100);
        }
        else
        {
            // Create an empty ad request.
            AdRequest request = new AdRequest.Builder()
            .AddTestDevice("2077ef9a63d2b398840261c8221a0c9b").Build();
            // Load the rewarded video ad with the request.
            this.rewardBasedVideoAmo10.LoadAd(request, adUnitIdAmo10);
            this.rewardBasedVideoAmo20.LoadAd(request, adUnitIdAmo20);
            this.rewardBasedVideoAmo30.LoadAd(request, adUnitIdAmo30);
            this.rewardBasedVideoAmo50.LoadAd(request, adUnitIdAmo50);
            this.rewardBasedVideoAmo100.LoadAd(request, adUnitIdAmo100);
        }



    }


    public void LoadIntestellarAds()
    {
        if (this.interstitial.IsLoaded())
        {
            this.interstitial.Show();
        }
    }
    
   


    public void DiplayRewardVideoAmo10()    // amunicja + 10
    {
        amo = FindObjectOfType<weapon>().amunicja;

        if (rewardBasedVideoAmo10.IsLoaded())
        {
            rewardBasedVideoAmo10.Show(); 
            amo += 10;
            textAmo.text = amo.ToString();
            
        }
    }

    public void DiplayRewardVideoAmo20()    // amunicja + 20
    {
        amo = FindObjectOfType<weapon>().amunicja;

        if (rewardBasedVideoAmo20.IsLoaded())
        {
            rewardBasedVideoAmo20.Show();
            amo += 20;
            textAmo.text = amo.ToString();
        }
    }


    public void DiplayRewardVideoAmo30()    // amunicja + 30
    {
        amo = FindObjectOfType<weapon>().amunicja;

        if (rewardBasedVideoAmo30.IsLoaded())
        {
            rewardBasedVideoAmo30.Show();
            amo += 30;
            textAmo.text = amo.ToString();
        }
    }


    public void DiplayRewardVideoAmo50()    // amunicja + 50
    {
        amo = FindObjectOfType<weapon>().amunicja;

        if (rewardBasedVideoAmo50.IsLoaded())
        {
            rewardBasedVideoAmo50.Show();
            amo += 50;
            textAmo.text = amo.ToString();
        }
    }


    public void DiplayRewardVideoAmo100()    // amunicja + 100
    {
        amo = FindObjectOfType<weapon>().amunicja;

        if (rewardBasedVideoAmo100.IsLoaded())
        {
            rewardBasedVideoAmo100.Show();
            amo += 100;
            textAmo.text = amo.ToString();
        }
    }


    // Update is called once per frame
    void Update()
    {

    }
}