Страница 1 из 1

Тормозит простенькая игрушка из-за рекламы

СообщениеДобавлено: 24 сен 2015, 16:06
akav
Сделал простенькую игрушку для android, крайне примитивную графически... После добавления рекламы (Плагин admob,) почему-то у меня стало жутко тормозить, убираю рекламу и все нормально, может кто-то знает почему? Саму игру можно посмотреть здесь: https://play.google.com/store/apps/deta ... om.tratata

P.S только 1 маленький баннер внизу с обновлением в 60 сек...

Re: Тормозит простенькая игрушка из-за рекламы

СообщениеДобавлено: 25 сен 2015, 14:48
mp3
Утечка памяти. Удостоверьтесь что загружаете баннер только один раз.

Re: Тормозит простенькая игрушка из-за рекламы

СообщениеДобавлено: 20 май 2021, 00:47
Radio
Столкнулся с похожей проблемой.
Делал все по гайдам admob, однако на телефоне спустя несколько перезапусков сцены, игра начинала фризовать.
Это проявлялось в отклике на сенсор.

Всего в игре было 2 сцены, на первой сцене инициализация admob и показ баннера, а на второй сцене только показ баннера.
При многократных перезапусках сцены начинались фризы, проседания fps не было.
Помог метод onDestroy, который выполняется при загрузке новой сцены (перезапуске).
Так выглядит мой код:
Синтаксис:
Используется csharp
using UnityEngine;
using GoogleMobileAds.Api;
using System;

public class AdsBanner : MonoBehaviour
{
#if UNITY_ANDROID
    string adUnitId = "ca-app-pub-3940256099942544/6300978111";
#elif UNITY_IPHONE
    string adUnitId = "";
#else
    string adUnitId = "unexpected_platform";
#endif

    private BannerView bannerView;

    private void Start()
    {
        RequestBanner();
    }
    private void RequestBanner()
    {
        this.bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top);

        this.bannerView.OnAdLoaded += this.HandleOnAdLoaded;
        this.bannerView.OnAdFailedToLoad += this.HandleOnAdFailedToLoad;
        this.bannerView.OnAdOpening += this.HandleOnAdOpened;
        this.bannerView.OnAdClosed += this.HandleOnAdClosed;
        this.bannerView.OnAdLeavingApplication += this.HandleOnAdLeavingApplication;

        AdRequest request = new AdRequest.Builder().Build();
        this.bannerView.LoadAd(request);
    }

    public void HandleOnAdLoaded(object sender, EventArgs args)
    {
        Debug.Log("Загрузка завершена");
    }

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

    private void OnDestroy()
    {
        bannerView.Destroy();
    }
}