【发布时间】:2017-11-06 09:27:00
【问题描述】:
有 10 个按钮,活动中的每个按钮都导航到一个新活动。我编写了一个代码来在每次单击按钮时显示一个插页式广告。 但它并不总是在点击时显示广告。
我可以知道我的代码哪里出错了吗?
代码-
public class home_activity extends AppCompatActivity implements ConnectivityReceiver.ConnectivityReceiverListener {
private InterstitialAd mInterstitialAd;
private static final String TAG = "home_activity";
private AdView mAdView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId("ca-app-pub-4189677300263650/4868306863");
mInterstitialAd.loadAd(new AdRequest.Builder().build());
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
mInterstitialAd.loadAd(new AdRequest.Builder().build());
}
});
mAdView = (AdView) findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
}
public void motorcycle_btn(View view) {
//If loaded show ad
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
} else {
//Even if Ad is not loaded show the Second Activity
startActivity(new Intent(home_activity.this, CC_motorcycle.class));
}
}
public void privatecar_btn(View view) {
//If loaded show ad
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
} else {
//Even if Ad is not loaded show the Second Activity
startActivity(new Intent(home_activity.this, CC_car.class));
}
}
public void taxi_upto6_btn(View view) {
//If loaded show ad
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
} else {
//Even if Ad is not loaded show the Second Activity
startActivity(new Intent(home_activity.this, CC_motorcycle.class));
}
}
public void bus_btn(View view) {
//If loaded show ad
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
} else {
//Even if Ad is not loaded show the Second Activity
startActivity(new Intent(home_activity.this, CC_bus.class));
}
}
public void passauto_btn(View view) {
//If loaded show ad
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
} else {
//Even if Ad is not loaded show the Second Activity
startActivity(new Intent(home_activity.this, CC_passauto.class));
}
}
public void goodsauto_public_btn(View view) {
//If loaded show ad
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
} else {
//Even if Ad is not loaded show the Second Activity
startActivity(new Intent(home_activity.this, pt_goodsauto_public.class));
}
}
public void goodsauto_private_btn(View view) {
//If loaded show ad
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
} else {
//Even if Ad is not loaded show the Second Activity
startActivity(new Intent(home_activity.this, pt_goodsauto_private.class));
}
}
public void commercialvehiclepublic_btn(View view) {
//If loaded show ad
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
} else {
//Even if Ad is not loaded show the Second Activity
startActivity(new Intent(home_activity.this, CC_commercialvehiclepublic.class));
}
}
public void commercialvehicleprivate_btn(View view) {
//If loaded show ad
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
} else {
//Even if Ad is not loaded show the Second Activity
startActivity(new Intent(home_activity.this, CC_commercialvehicleprivate.class));
}
}
public void agri_btn(View view) {
//If loaded show ad
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
} else {
//Even if Ad is not loaded show the Second Activity
startActivity(new Intent(home_activity.this, pt_agri.class));
}
}
}
P.S - 我正在尝试在项目中实施横幅广告和插页式广告。 横幅广告工作正常,但加载 Activity 后需要一些时间才能显示。
【问题讨论】:
-
你检查的是模拟器还是真机?
-
真实设备@Munir
-
这可能是因为插页式广告尚未准备好显示。所以 isLoaded() if 语句遵循 else 路径。
-
当我点击按钮导航到第二个活动并返回主活动@RabRoss时,它有时会显示广告
-
尝试在adreuest中添加TestDevice("DEVICE_ID")