Cześć Wszystkim
Na samym wstępie przeproszę, jeśli źle trafiłem.
Szukam pomocy już od dobrych 13 dni i nie mogę jej znaleźć.
Stworzyłem grę w Unity. Nic specjalnego, to jest raczej dla mnie samouczek przed kolejnymi projektami🙂
Chciałbym dodać reklamy AdMob (baner, gdyż pełnoekranowa nie działa 🙁)
Reklama powinna pojawiać się kiedy czas dobiegnie końca.
Wszystko jest naprawdę pięknie i świetnie działa.
Problem pojawia się jednak w momencie, kiedy chciałbym aby reklama zniknęła.
Reklama powinna znikać za każdym razem, kiedy czas dobiegnie końca.
I tu leży właśnie problem- reklama nie znika...
Próbowałem już chyba wszystkiego, ale nic nie skutkuje.
Radziłem się również na wielu forach, ale mało kto potrafił się do czegoś przyczepić 🙂
Mógłby ktoś zerknąć?
To jest mój skrypt, który tworzy baner:
using System;
using UnityEngine;
using GoogleMobileAds.Api;
using UnityEngine.SceneManagement;
public class AdManager : MonoBehaviour {
private BannerView bannerView;
void Start()
{
this.RequestBanner();
}
private void RequestBanner()
{
#if UNITY_ANDROID
string adUnitId = "ca-app-pub-3940256099942544/6300978111";
#elif UNITY_IPHONE
string adUnitId = "unexpected_platform";
#else
string adUnitId = "unexpected_platform";
#endif
bannerView = new BannerView(adUnitId, AdSize.Banner, 25,8);
// Called when an ad request has successfully loaded.
bannerView.OnAdLoaded += HandleOnAdLoaded;
// Create an empty ad request.
AdRequest request = new AdRequest.Builder ().Build ();
// Load the banner with the request.
bannerView.LoadAd(request);
}
public void HandleOnAdLoaded(object sender, EventArgs args)
{
MonoBehaviour.print("HandleAdLoaded event received");
}
public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
MonoBehaviour.print("HandleFailedToReceiveAd event received with message: "
+ args.Message);
}
public void HandleOnAdOpened(object sender, EventArgs args)
{
MonoBehaviour.print("HandleAdOpened event received");
}
public void HandleOnAdClosed(object sender, EventArgs args)
{
MonoBehaviour.print("HandleAdClosed event received");
}
public void HandleOnAdLeavingApplication(object sender, EventArgs args)
{
MonoBehaviour.print("HandleAdLeavingApplication event received");
}
public void StartBanner ()
{
bannerView.Show ();
}
public void EndBanner (){
bannerView.Hide ();
}
}
To z kolei jest mój skrypt, który powoduje, że po upływie czasu baner się pojawia a także, że po restarcie czasu powinien zniknąć:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class TimeManager : MonoBehaviour {
public float startingTime;
private float countingTime;
private Text theText;
public GameObject ImageOver, restartButton, menuButton;
public GameObject Manager;
public AdManager other;
// Use this for initialization
void Awake (){
}
void Start () {
theText = GetComponent<Text> ();
countingTime = startingTime;
other.EndBanner ();
ImageOver.SetActive (false);
menuButton.SetActive (false);
restartButton.SetActive (false);
other.EndBanner ();
Manager.SetActive (true);
}
// Update is called once per frame
void Update () {
countingTime -= Time.deltaTime;
if (countingTime <= 0) {
ImageOver.SetActive (true);
menuButton.SetActive (true);
restartButton.SetActive (true);
gameObject.SetActive (false);
Manager.SetActive (false);
other.StartBanner ();
}
theText.text = "" + Mathf.Round (countingTime);
}
public void ResetTime () {
countingTime = startingTime;
}
}
Ktoś widzi jakieś możliwości?
Z góry dziękuję za miłeodpowiedzi 🙂
PS. Ewentualnie jeśli ktoś potrafi w takich sytuacjach tworzyć reklamy Interstatial, być może skusiłbym się na jakąś zapłatę za taką pomoc 🙂
Stworzyłem już dwa nowe projekty i nie mogę ich przez te reklamy dokończyć 🙁
Pozdrawiam i przepraszam jeśli zabłądziłem na forum 🙂