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

Программирование для iPhone & Android

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

Сообщение akav 24 сен 2015, 16:06

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

P.S только 1 маленький баннер внизу с обновлением в 60 сек...
akav
UNец
 
Сообщения: 6
Зарегистрирован: 14 сен 2015, 07:27

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

Сообщение mp3 25 сен 2015, 14:48

Утечка памяти. Удостоверьтесь что загружаете баннер только один раз.
Be straight, or go forward.
Аватара пользователя
mp3
Адепт
 
Сообщения: 1071
Зарегистрирован: 21 окт 2009, 23:50

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

Сообщение Radio 20 май 2021, 00:47

Столкнулся с похожей проблемой.
Делал все по гайдам 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();
    }
}
 
Radio
UNец
 
Сообщения: 27
Зарегистрирован: 04 май 2020, 22:40


Вернуться в iPhone & Android

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5