繁体   English   中英

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

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

我是unity的新手,我需要帮助,下面的脚本是我的广告管理器脚本,我有一个重启按钮,在点击事件时,我想展示一个广告然后开始一个场景,但是当我点击重启按钮时显示几英里秒的广告并且场景开始..如何完全显示然后加载场景。 谢谢你。

`

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 ();
    }
}

`

在此方法中加载场景。 而在编辑器中,关闭按钮将处理此方法。 与在编辑器中一样,不会显示实际的广告。

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