每次单击按钮时如何显示 Admob 插页式广告?
How to display Admob interstitial every time a button is clicked?
我想知道如何在每次按下按钮时显示 Admob 插页式广告。我设法展示了一个插页式广告,但只是在第一次按下按钮时。这是我的代码:
package hamza.gforx.com.guforx;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.InterstitialAd;
import com.google.android.gms.ads.AdListener;
public class MainActivity extends AppCompatActivity {
// "ca-app-pub-3940256099942544/1033173712"
InterstitialAd mInterstitialAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mInterstitialAd = new InterstitialAd(this);
// set the ad unit ID
mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
AdRequest adRequest = new AdRequest.Builder().build();
// Load ads into Interstitial Ads
mInterstitialAd.loadAd(adRequest);
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
super.onAdClosed();
}
@Override
public void onAdFailedToLoad(int i) {
super.onAdFailedToLoad(i);
}
@Override
public void onAdLeftApplication() {
super.onAdLeftApplication();
}
@Override
public void onAdOpened() {
super.onAdOpened();
}
public void onAdLoaded() {
if (mInterstitialAd.isLoaded()) {
}
}
});
}
public void onButtonClick(View v) {
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
}
if (v.getId() == R.id.Bdisplay) ;
{
Intent i =new Intent(MainActivity.this, Display.class);
startActivity(i);
}
}
public void onButton1(View v1) {
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
}
if (v1.getId() == R.id.Button1) ;
{
Intent o =new Intent(MainActivity.this, Page.class);
startActivity(o);
}
}
public void onButton2(View v2) {
if (v2.getId() == R.id.Button2) ;
{
Intent q =new Intent(MainActivity.this, Page2.class);
startActivity(q);
}
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
}
}
}
提前致谢。
确保每次都加载广告 (mInterstitialAd.loadAd(adRequest)
)。
也有可能点击按钮时广告还没有加载,所以没有显示。
您需要在每次展示后加载广告。为了在尝试显示之前让它有足够的时间加载,建议在 onAdClosed() 回调中重新加载(不显示)广告。
您需要在关闭广告以供下次显示时加载 gadInterstitialAd,因此请在 onAdClosed()
方法中调用 loadIntersitialAd()
。
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
loadIntersitialAd();
}
@Override
public void onAdFailedToLoad(int i) {
}
@Override
public void onAdLeftApplication() {
}
@Override
public void onAdOpened() {
}
public void onAdLoaded() {
}
});
private void loadIntersitialAd(){
AdRequest interstitialRequest = new AdRequest.Builder().build();
mInterstitialAd.loadAd(interstitialRequest);
}
我想知道如何在每次按下按钮时显示 Admob 插页式广告。我设法展示了一个插页式广告,但只是在第一次按下按钮时。这是我的代码:
package hamza.gforx.com.guforx;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.InterstitialAd;
import com.google.android.gms.ads.AdListener;
public class MainActivity extends AppCompatActivity {
// "ca-app-pub-3940256099942544/1033173712"
InterstitialAd mInterstitialAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mInterstitialAd = new InterstitialAd(this);
// set the ad unit ID
mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
AdRequest adRequest = new AdRequest.Builder().build();
// Load ads into Interstitial Ads
mInterstitialAd.loadAd(adRequest);
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
super.onAdClosed();
}
@Override
public void onAdFailedToLoad(int i) {
super.onAdFailedToLoad(i);
}
@Override
public void onAdLeftApplication() {
super.onAdLeftApplication();
}
@Override
public void onAdOpened() {
super.onAdOpened();
}
public void onAdLoaded() {
if (mInterstitialAd.isLoaded()) {
}
}
});
}
public void onButtonClick(View v) {
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
}
if (v.getId() == R.id.Bdisplay) ;
{
Intent i =new Intent(MainActivity.this, Display.class);
startActivity(i);
}
}
public void onButton1(View v1) {
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
}
if (v1.getId() == R.id.Button1) ;
{
Intent o =new Intent(MainActivity.this, Page.class);
startActivity(o);
}
}
public void onButton2(View v2) {
if (v2.getId() == R.id.Button2) ;
{
Intent q =new Intent(MainActivity.this, Page2.class);
startActivity(q);
}
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
}
}
}
提前致谢。
确保每次都加载广告 (mInterstitialAd.loadAd(adRequest)
)。
也有可能点击按钮时广告还没有加载,所以没有显示。
您需要在每次展示后加载广告。为了在尝试显示之前让它有足够的时间加载,建议在 onAdClosed() 回调中重新加载(不显示)广告。
您需要在关闭广告以供下次显示时加载 gadInterstitialAd,因此请在 onAdClosed()
方法中调用 loadIntersitialAd()
。
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
loadIntersitialAd();
}
@Override
public void onAdFailedToLoad(int i) {
}
@Override
public void onAdLeftApplication() {
}
@Override
public void onAdOpened() {
}
public void onAdLoaded() {
}
});
private void loadIntersitialAd(){
AdRequest interstitialRequest = new AdRequest.Builder().build();
mInterstitialAd.loadAd(interstitialRequest);
}