Search Unity

  1. Unity 2019.1 beta is now available.
    Dismiss Notice
  2. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  3. We're looking for insight from anyone who has experience with game testing to help us better Unity. Take our survey here. If chosen to participate you'll be entered into a sweepstake to win an Amazon gift card.
    Dismiss Notice
  4. Want to provide direct feedback to the Unity team? Join the Unity Advisory Panel.
    Dismiss Notice
  5. Unity 2018.3 is now released.
    Dismiss Notice
  6. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice

admob in unity only shows test ads but not real ones

Discussion in 'Unity Ads' started by hamzalahlou, Feb 12, 2019 at 6:20 PM.

  1. hamzalahlou

    hamzalahlou

    Joined:
    Feb 4, 2019
    Posts:
    1
    i am using the default script given by unity

    here is my script

    using System;
    using UnityEngine;
    using GoogleMobileAds.Api;

    // Example script showing how to invoke the Google Mobile Ads Unity plugin.
    public class GoogleMobileAdsDemoScript : MonoBehaviour
    {
    private BannerView bannerView;
    private InterstitialAd interstitial;
    private RewardBasedVideoAd rewardBasedVideo;
    private float deltaTime = 0.0f;
    private static string outputMessage = string.Empty;

    public static string OutputMessage
    {
    set { outputMessage = value; }
    }

    public void Start()
    {

    #if UNITY_ANDROID
    string appId = "ca-app-pub-7331080538239612~4266231032";
    #elif UNITY_IPHONE
    string appId = "ca-app-pub-3940256099942544~1458002511";
    #else
    string appId = "unexpected_platform";
    #endif

    MobileAds.SetiOSAppPauseOnBackground(true);

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

    // Get singleton reward based video ad reference.
    this.rewardBasedVideo = RewardBasedVideoAd.Instance;

    // RewardBasedVideoAd is a singleton, so handlers should only be registered once.
    this.rewardBasedVideo_OnAdLoaded += this.HandleRewardBasedVideoLoaded;
    this.rewardBasedVideo_OnAdFailedToLoad += this.HandleRewardBasedVideoFailedToLoad;
    this.rewardBasedVideo_OnAdOpening += this.HandleRewardBasedVideoOpened;
    this.rewardBasedVideo_OnAdStarted += this.HandleRewardBasedVideoStarted;
    this.rewardBasedVideo_OnAdRewarded += this.HandleRewardBasedVideoRewarded;
    this.rewardBasedVideo_OnAdClosed += this.HandleRewardBasedVideoClosed;
    this.rewardBasedVideo_OnAdLeavingApplication += this.HandleRewardBasedVideoLeftApplication;
    }

    public void Update()
    {
    // Calculate simple moving average for time to render screen. 0.1 factor used as smoothing
    // value.
    this.deltaTime += (Time.deltaTime - this.deltaTime) * 0.1f;
    }

    public void OnGUI()
    {
    GUIStyle style = new GUIStyle();

    Rect rect = new Rect(0, 0, Screen.width, Screen.height);
    style.alignment = TextAnchor.LowerRight;
    style.fontSize = (int)(Screen.height * 0.06);
    style.normal.textColor = new Color(0.0f, 0.0f, 0.5f, 1.0f);
    float fps = 1.0f / this.deltaTime;
    string text = string.Format("{0:0.} fps", fps);
    GUI.Label(rect, text, style);

    // Puts some basic buttons onto the screen.
    GUI.skin.button.fontSize = (int)(0.035f * Screen.width);
    float buttonWidth = 0.35f * Screen.width;
    float buttonHeight = 0.15f * Screen.height;
    float columnOnePosition = 0.1f * Screen.width;
    float columnTwoPosition = 0.55f * Screen.width;

    Rect requestBannerRect = new Rect(
    columnOnePosition,
    0.05f * Screen.height,
    buttonWidth,
    buttonHeight);
    if (GUI.Button(requestBannerRect, "Request\nBanner"))
    {
    this.RequestBanner();
    }

    Rect destroyBannerRect = new Rect(
    columnOnePosition,
    0.225f * Screen.height,
    buttonWidth,
    buttonHeight);
    if (GUI.Button(destroyBannerRect, "Destroy\nBanner"))
    {
    this.bannerView.Destroy();
    }

    Rect requestInterstitialRect = new Rect(
    columnOnePosition,
    0.4f * Screen.height,
    buttonWidth,
    buttonHeight);
    if (GUI.Button(requestInterstitialRect, "Request\nInterstitial"))
    {
    this.RequestInterstitial();
    }

    Rect showInterstitialRect = new Rect(
    columnOnePosition,
    0.575f * Screen.height,
    buttonWidth,
    buttonHeight);
    if (GUI.Button(showInterstitialRect, "Show\nInterstitial"))
    {
    this.ShowInterstitial();
    }

    Rect destroyInterstitialRect = new Rect(
    columnOnePosition,
    0.75f * Screen.height,
    buttonWidth,
    buttonHeight);
    if (GUI.Button(destroyInterstitialRect, "Destroy\nInterstitial"))
    {
    this.interstitial.Destroy();
    }

    Rect requestRewardedRect = new Rect(
    columnTwoPosition,
    0.05f * Screen.height,
    buttonWidth,
    buttonHeight);
    if (GUI.Button(requestRewardedRect, "Request\nRewarded Video"))
    {
    this.RequestRewardBasedVideo();
    }

    Rect showRewardedRect = new Rect(
    columnTwoPosition,
    0.225f * Screen.height,
    buttonWidth,
    buttonHeight);
    if (GUI.Button(showRewardedRect, "Show\nRewarded Video"))
    {
    this.ShowRewardBasedVideo();
    }

    Rect textOutputRect = new Rect(
    columnTwoPosition,
    0.925f * Screen.height,
    buttonWidth,
    0.05f * Screen.height);
    GUI.Label(textOutputRect, outputMessage);
    }

    // Returns an ad request with custom ad targeting.
    private AdRequest CreateAdRequest()
    {
    return new AdRequest.Builder()

    .AddKeyword("game")
    .SetGender(Gender.Male)
    .SetBirthday(new DateTime(1985, 1, 1))
    .TagForChildDirectedTreatment(false)
    .AddExtra("color_bg", "9B30FF")
    .Build();
    }

    private void RequestBanner()
    {
    // These ad units are configured to always serve test ads.
    #if UNITY_EDITOR
    string adUnitId = "unused";
    #elif UNITY_ANDROID
    string adUnitId = "ca-app-pub-7331080538239612/7895975540";
    #elif UNITY_IPHONE
    string adUnitId = "ca-app-pub-3940256099942544/2934735716";
    #else
    string adUnitId = "unexpected_platform";
    #endif

    // Clean up banner ad before creating a new one.
    if (this.bannerView != null)
    {
    this.bannerView.Destroy();
    }

    // Create a 320x50 banner at the top of the screen.
    this.bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top);

    // Register for ad events.
    this.bannerView.OnAdLoaded += this.HandleAdLoaded;
    this.bannerView.OnAdFailedToLoad += this.HandleAdFailedToLoad;
    this.bannerView.OnAdOpening += this.HandleAdOpened;
    this.bannerView.OnAdClosed += this.HandleAdClosed;
    this.bannerView.OnAdLeavingApplication += this.HandleAdLeftApplication;

    // Load a banner ad.
    this.bannerView.LoadAd(this.CreateAdRequest());
    }

    private void RequestInterstitial()
    {
    // These ad units are configured to always serve test ads.
    #if UNITY_EDITOR
    string adUnitId = "unused";
    #elif UNITY_ANDROID
    string adUnitId = "ca-app-pub-7331080538239612/5269812208";
    #elif UNITY_IPHONE
    string adUnitId = "ca-app-pub-3940256099942544/4411468910";
    #else
    string adUnitId = "unexpected_platform";
    #endif

    // Clean up interstitial ad before creating a new one.
    if (this.interstitial != null)
    {
    this.interstitial.Destroy();
    }

    // Create an interstitial.
    this.interstitial = new InterstitialAd(adUnitId);

    // Register for ad events.
    this.interstitial.OnAdLoaded += this.HandleInterstitialLoaded;
    this.interstitial.OnAdFailedToLoad += this.HandleInterstitialFailedToLoad;
    this.interstitial.OnAdOpening += this.HandleInterstitialOpened;
    this.interstitial.OnAdClosed += this.HandleInterstitialClosed;
    this.interstitial.OnAdLeavingApplication += this.HandleInterstitialLeftApplication;

    // Load an interstitial ad.
    this.interstitial.LoadAd(this.CreateAdRequest());
    }

    private void RequestRewardBasedVideo()
    {
    #if UNITY_EDITOR
    string adUnitId = "unused";
    #elif UNITY_ANDROID
    string adUnitId = "ca-app-pub-7331080538239612/4107099301";
    #elif UNITY_IPHONE
    string adUnitId = "ca-app-pub-3940256099942544/1712485313";
    #else
    string adUnitId = "unexpected_platform";
    #endif

    this.rewardBasedVideo.LoadAd(this.CreateAdRequest(), adUnitId);
    }

    private void ShowInterstitial()
    {
    if (this.interstitial.IsLoaded())
    {
    this.interstitial.Show();
    }
    else
    {
    MonoBehaviour.print("Interstitial is not ready yet");
    }
    }

    private void ShowRewardBasedVideo()
    {
    if (this.rewardBasedVideo.IsLoaded())
    {
    this.rewardBasedVideo.Show();
    }
    else
    {
    MonoBehaviour.print("Reward based video ad is not ready yet");
    }
    }

    #region Banner callback handlers

    public void HandleAdLoaded(object sender, EventArgs args)
    {
    MonoBehaviour.print("HandleAdLoaded event received");
    }

    public void HandleAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
    {
    MonoBehaviour.print("HandleFailedToReceiveAd event received with message: " + args.Message);
    }

    public void HandleAdOpened(object sender, EventArgs args)
    {
    MonoBehaviour.print("HandleAdOpened event received");
    }

    public void HandleAdClosed(object sender, EventArgs args)
    {
    MonoBehaviour.print("HandleAdClosed event received");
    }

    public void HandleAdLeftApplication(object sender, EventArgs args)
    {
    MonoBehaviour.print("HandleAdLeftApplication event received");
    }

    #endregion

    #region Interstitial callback handlers

    public void HandleInterstitialLoaded(object sender, EventArgs args)
    {
    MonoBehaviour.print("HandleInterstitialLoaded event received");
    }

    public void HandleInterstitialFailedToLoad(object sender, AdFailedToLoadEventArgs args)
    {
    MonoBehaviour.print(
    "HandleInterstitialFailedToLoad event received with message: " + args.Message);
    }

    public void HandleInterstitialOpened(object sender, EventArgs args)
    {
    MonoBehaviour.print("HandleInterstitialOpened event received");
    }

    public void HandleInterstitialClosed(object sender, EventArgs args)
    {
    MonoBehaviour.print("HandleInterstitialClosed event received");
    }

    public void HandleInterstitialLeftApplication(object sender, EventArgs args)
    {
    MonoBehaviour.print("HandleInterstitialLeftApplication event received");
    }

    #endregion

    #region RewardBasedVideo callback handlers

    public void HandleRewardBasedVideoLoaded(object sender, EventArgs args)
    {
    MonoBehaviour.print("HandleRewardBasedVideoLoaded event received");
    }

    public void HandleRewardBasedVideoFailedToLoad(object sender, AdFailedToLoadEventArgs args)
    {
    MonoBehaviour.print(
    "HandleRewardBasedVideoFailedToLoad event received with message: " + args.Message);
    }

    public void HandleRewardBasedVideoOpened(object sender, EventArgs args)
    {
    MonoBehaviour.print("HandleRewardBasedVideoOpened event received");
    }

    public void HandleRewardBasedVideoStarted(object sender, EventArgs args)
    {
    MonoBehaviour.print("HandleRewardBasedVideoStarted event received");
    }

    public void HandleRewardBasedVideoClosed(object sender, EventArgs args)
    {
    MonoBehaviour.print("HandleRewardBasedVideoClosed event received");
    }

    public void HandleRewardBasedVideoRewarded(object sender, Reward args)
    {
    string type = args.Type;
    double amount = args.Amount;
    MonoBehaviour.print(
    "HandleRewardBasedVideoRewarded event received for " + amount.ToString() + " " + type);
    }

    public void HandleRewardBasedVideoLeftApplication(object sender, EventArgs args)
    {
    MonoBehaviour.print("HandleRewardBasedVideoLeftApplication event received");
    }

    #endregion
    }
     

    Attached Files: