gpt4 book ai didi

java - Android MobileAds 加载广告时间过长

转载 作者:行者123 更新时间:2023-11-30 00:03:23 25 4
gpt4 key购买 nike

我希望我的 Android 应用程序显示广告 – InterstitialAd。我希望它出现在欢迎屏幕之后。这意味着我有 WelcomeActicity 出现在应用程序启动时,最近在此之后 - 显示了广告。

我创建了 InterstitialAd 并开始在应用程序的 OnCreate() 方法中加载广告。如果应用程序长时间关闭,广告加载时间将超过 13 秒。当然这是不合适的——用户不应该等待这么久。我做了这个测试构建直接安装在我的手机小米红米 4X 上的发布 apk。

所以问题是——是否应该以其他方式完成?或者广告总是加载很长时间,我只需要在用户的工作流程中将其向前移动?

在应用程序的 OnCreate() 中我开始加载

public class MyApp extends Application {

private FullScreenAd mFullScreenAd;

@Override
public void onCreate() {
super.onCreate();
mFullScreenAd = new FullScreenAd(this);
mFullScreenAd.loadAd();
}
}

实现如下:

public class FullScreenAd{

private static final String APP_AD_ID = "ca-app-pub-3940256099942544~3347511713";
private static final String SCREEN_AD_ID = "ca-app-pub-3940256099942544/1033173712";

private String mAdAppId;
private String mAdScreenId;
private InterstitialAd mInterstitialAd;

private long mLoadStart;

public FullScreenAd(Context context) {
super();
DebugLogger.d();

mContext = context;
initAdIDs(null, null);
}

private void initAdIDs(String adAppId, String adScreenId) {
DebugLogger.d();

mAdAppId = (adAppId != null) ? adAppId : APP_AD_ID;
mAdScreenId = (adScreenId != null) ? adScreenId : SCREEN_AD_ID;

mInterstitialAd = new InterstitialAd(mContext);
mInterstitialAd.setAdUnitId(mAdScreenId);

setInterstitialAdListener();
}

public void loadAd() {

// Initialize the Mobile Ads SDK.
MobileAds.initialize(mContext, mAdAppId);
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.build();

// Start loading the ad in the background.
mAdIsLoaded.set(false);
mInterstitialAd.loadAd(adRequest);
mLoadStart = System.currentTimeMillis();
}

private void setInterstitialAdListener() {
DebugLogger.d();

mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
DebugLogger.d();

DebugLogger.d(String.format("Ad loaded in %d ms", System.currentTimeMillis() - mLoadStart));

mAdIsLoaded.set(true);
}

});
}

public void showAd(OnAdClosedAction action) {
DebugLogger.d();

mInterstitialAd.show();
}
}

最佳答案

加载 AddMob 插页式广告需要一些时间。通常只需几秒钟,但如果网络连接状况不佳或广告包含动画/视频,可能会长达 20-30 秒。它甚至可能根本无法加载!

一个好的做法是在应用程序启动时加载广告并将其保存在内存中,并在稍后的某个时间点展示它 - 尽可能做到无缝衔接。确保广告加载/显示不会干扰用户体验 - 不要让用户等待您的广告加载。

关于java - Android MobileAds 加载广告时间过长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49465617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com