我在我的应用程序中整合了来自admob的插页式广告,这是google play版本。我想在启动应用时展示广告,但它不起作用。我有一个广告出现的代码" onPause"," onResume"等方法。有没有办法在启动应用程序的2秒内显示应用程序启动时的广告。 这是我的插页式广告代码。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StartAppAd.init(this, "110342272", "204516610");
setContentView(R.layout.activity_start);
// Create the interstitial.
interstitial = new InterstitialAd(this);
interstitial.setAdUnitId("ca-app-pub-2869508995487312/2690564381");
// Create ad request.
AdRequest adRequest = new AdRequest.Builder().build();
// Begin loading your interstitial.
interstitial.loadAd(adRequest);
}
@Override
protected void onPause() {
display();
super.onStart();
}
public void display() {
if (interstitial.isLoaded()) {
interstitial.show();
}
}
答案 0 :(得分:12)
以下是我在用户打开应用时加载插页式广告所创建的内容:
InterstitialAd interstitial;
private static final String AD_UNIT_ID = "YOUR_AD_UNIT_ID";
private InterstitialAd interstitialAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start);
interstitialAd = new InterstitialAd(this);
interstitialAd.setAdUnitId(AD_UNIT_ID);
AdRequest adRequest = new AdRequest.Builder().build();
interstitialAd.loadAd(adRequest);
interstitialAd.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
if (interstitialAd.isLoaded()) {
interstitialAd.show();
}
}
@Override
public void onAdOpened() {
}
@Override
public void onAdFailedToLoad(int errorCode) {
}
});
}
答案 1 :(得分:10)
根据Admob的新政策,在启动和退出应用时不允许使用插页式广告。如果您违反此政策,您的帐户可能会被禁止。因此避免它。请点击以下链接阅读admob政策以获得更多说明。 https://support.google.com/admob/answer/6201362?hl=en
答案 2 :(得分:0)
根据https://support.google.com/admob/answer/6201362?hl=en,您可以在应用启动时展示广告,只要您在显示该应用之前就已将其加载。
插入此成员变量private val doOnce = true
doOnce 将确保您的广告仅在加载广告时展示一次,因为onAdLoaded是回调操作,这样做会导致垃圾邮件广告弹出窗口不断。
mInterstitialAd?.adListener = object : AdListener() {
override fun onAdClosed() {
requestNewInterstitial()
}
override fun onAdLoaded() {
super.onAdLoaded()
if (doneOnce) {
mInterstitialAd?.show()
doneOnce = false
}
}
}
保存并通过配置更改进行检索
override fun onSaveInstanceState(outState: Bundle?, outPersistentState: PersistableBundle?) {
super.onSaveInstanceState(outState, outPersistentState)
outState?.putBoolean(DO_ONCE_KEY, doOnce)
}
override fun onRestoreInstanceState(savedInstanceState: Bundle?) {
super.onRestoreInstanceState(savedInstanceState)
if (savedInstanceState != null){
doOnce = savedInstanceState.getBoolean(DO_ONCE_KEY)
}
}