2015-03-14 3 views
0

Я работаю с анимацией кадров, и я реализую баннер и межстраничные объявления в своей деятельности, но когда я делаю это, это замедляет мое приложение.Admob замедляет мое приложение

Вот мой код:

частное InterstitialAd интерстициальный;

interstitial = new InterstitialAd(MainActivity.this); 
// Insert the Ad Unit ID 
interstitial.setAdUnitId("UNIT ID"); 

//Locate the Banner Ad in activity_main.xml 
AdView adView = (AdView) this.findViewById(R.id.adView); 

// Request for Ads 
AdRequest adRequest = new AdRequest.Builder() 

// Add a test device to show Test Ads 
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR) 
.addTestDevice("CC5F2C72DF2B356BBF0DA198") 
     .build(); 

// Load ads into Banner Ads 
adView.loadAd(adRequest); 

// Load ads into Interstitial Ads 
interstitial.loadAd(adRequest); 

// Prepare an Interstitial Ad Listener 
interstitial.setAdListener(new AdListener() { 
    public void onAdLoaded() { 
     // Call displayInterstitial() function 
     displayInterstitial(); 
    } 
}); 

}

Любые решения о том, как эффективно интегрировать AdMob в своем классе.

+0

Вы также можете использовать потоки для загрузки ваших запросов. после загрузки вызова displayInterstitial метод из метода runonuithread –

+0

Этот раздел http://stackoverflow.com/questions/14584002/android-admob-memory-usage довольно старый, но вы можете найти некоторые полезные моменты в логике admob. Я также опасаюсь, что некоторые из предлагаемых решений могут не работать нормально в устройствах Android 4+. – madlymad

ответ

0

Скажите нам свой комментарий

может я положил весь мой AdMob код в someother класса и инициализировать его в моей Основной деятельности?

Да, Например: AdMob.java class:

import android.content.Context; 

import com.google.android.gms.ads.AdListener; 
import com.google.android.gms.ads.AdRequest; 
import com.google.android.gms.ads.InterstitialAd; 

public class AdMob { 


    private InterstitialAd interstitial; 

    public void displayInterstitial() { 
     // If Ads are loaded, show Interstitial else show nothing. 
     if (interstitial.isLoaded()) { 
     interstitial.show(); 
     } 
     } 

    void LoadInterstitialAd(Context ctx){ 
     // Prepare the Interstitial Ad 
     interstitial = new InterstitialAd(ctx); 
     // Insert the Ad Unit ID 
     interstitial.setAdUnitId("unit_id"); 



     // Request for Ads 
     AdRequest adRequest = new AdRequest.Builder() 

     // Add a test device to show Test Ads 
     //.addTestDevice(AdRequest.DEVICE_ID_EMULATOR) 
     //.addTestDevice("CC5F2C72DF2B356BBF0DA198") 
     .build(); 

     // Load ads into Interstitial Ads 
     interstitial.loadAd(adRequest); 

     // Prepare an Interstitial Ad Listener 
     interstitial.setAdListener(new AdListener() { 
     public void onAdLoaded() { 
     // Call displayInterstitial() function 
     displayInterstitial(); 
     } 
     }); 


    } 




} 

Вы можете использовать его в любом месте, делая это:

AdMob adMob = new AdMob(); 
adMob.LoadInterstitialAd(getApplicationContext()); 

я показал для интерстициального объявления, но это может быть сделано для другие объявления тоже ..

Смежные вопросы