【问题标题】:Admob slows my applicationAdmob 减慢了我的应用程序
【发布时间】:2015-03-14 19:48:31
【问题描述】:

我正在处理帧动画,并在我的活动中实现横幅和插页式广告,但是当我这样做时,它会减慢我的应用程序。

这是我的代码:

私有 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 的任何解决方案。

【问题讨论】:

  • 您也可以使用线程来加载您的请求。一旦从 runonuithread 方法加载调用 displayInterstitial 方法
  • 这个话题stackoverflow.com/questions/14584002/android-admob-memory-usage已经很老了,但是你可能会在admob逻辑中找到一些有用的点。我还担心一些建议的解决方案在 Android 4+ 设备上可能无法正常工作。

标签: android eclipse admob


【解决方案1】:

回复你的评论

我可以将我所有的 admob 代码放在其他类中并在我的 主要活动?

可以,例如: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());

我只展示了插页式广告,但它也可以用于其他广告..

【讨论】:

    猜你喜欢
    • 2012-03-17
    • 1970-01-01
    • 2010-12-22
    • 1970-01-01
    • 2021-04-20
    • 1970-01-01
    • 2012-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多