简体   繁体   English

统一单击重新启动按钮后如何显示广告然后重新启动场景?

[英]how to show ads and then restart scene after clicking restart button in unity?

I am new to unity and I want one help,the below script is my Ad manager script, I have one restart button and on click event, I want to show an ad and then start a scene, but when I click the restart button it shows an ad for few mili sec and the scene starts..how to show to fully and then load scene.我是unity的新手,我需要帮助,下面的脚本是我的广告管理器脚本,我有一个重启按钮,在点击事件时,我想展示一个广告然后开始一个场景,但是当我点击重启按钮时显示几英里秒的广告并且场景开始..如何完全显示然后加载场景。 Thank you.谢谢你。

` `

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

public class ADSmanager : MonoBehaviour
{
    private InterstitialAd interstitial_Ad;
    private RewardedAd rewardedAd;

    private string interstitial_Ad_ID;
    private string rewardedAd_ID;

    void Start () {
        interstitial_Ad_ID = "ca-app-pub-3940256099942544/1033173712";
        rewardedAd_ID = "ca-app-pub-3940256099942544/5224354917";

        MobileAds.Initialize (initStatus => { });

        RequestInterstitial ();
        RequestRewardedVideo ();

    }

    private void RequestInterstitial () {
        interstitial_Ad = new InterstitialAd (interstitial_Ad_ID);
        interstitial_Ad.OnAdLoaded += HandleOnAdLoaded;
        AdRequest request = new AdRequest.Builder ().Build ();
        interstitial_Ad.LoadAd (request);
    }

    private void RequestRewardedVideo () {
        rewardedAd = new RewardedAd (rewardedAd_ID);
        rewardedAd.OnUserEarnedReward += HandleUserEarnedReward;
        rewardedAd.OnAdClosed += HandleRewardedAdClosed;
        rewardedAd.OnAdFailedToShow += HandleRewardedAdFailedToShow;
        AdRequest request = new AdRequest.Builder ().Build ();
        rewardedAd.LoadAd (request);
    }

    public void ShowInterstitial () {
        if (interstitial_Ad.IsLoaded ()) {
            interstitial_Ad.Show ();
            RequestInterstitial ();
        }
        // else{
        //      Savers.Score=0;
        // Savers.died=false;
        // SceneManager.LoadScene(1);
        // Time.timeScale=1;
        // }
       
        //Time.timeScale=1;
       
    }

    public void ShowRewardedVideo () {
        if (rewardedAd.IsLoaded ()) {
            rewardedAd.Show ();
            
        }

        
    }

    public void HandleOnAdClosed(object sender, EventArgs args)
{
 
        
    
}

    public void HandleOnAdLoaded (object sender, EventArgs args) {

       

    }

    public void HandleRewardedAdFailedToShow (object sender, AdErrorEventArgs args) {
        RequestRewardedVideo ();
    }

    public void HandleRewardedAdClosed (object sender, EventArgs args) {
        RequestRewardedVideo ();
    }

    public void HandleUserEarnedReward (object sender, Reward args) {
        RequestRewardedVideo ();
    }
}

` `

Load the scene inside this method.在此方法中加载场景。 And in Editor, the close button will handle this method.而在编辑器中,关闭按钮将处理此方法。 As in the editor, no actual ads will be shown.与在编辑器中一样,不会显示实际的广告。

public void HandleUserEarnedReward (object sender, Reward args) {
    RequestRewardedVideo ();
    sceneManager.LoadScene(sceneIndex);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM