gpt4 book ai didi

android InterstitialAd 不显示

转载 作者:行者123 更新时间:2023-11-29 14:52:41 28 4
gpt4 key购买 nike

我的应用使用了下面的InterstitialAd,下面是从google例子中得到的标准编码。但是,请问为什么没有广告显示? (应用程序正确显示 toast :在 ReceiveAd 上)

我的 main_first_page 布局底部也有一个广告横幅。这会影响 InterstitialAd 吗?

谢谢!!

public class StartUp extends Activity implements AdListener {

private InterstitialAd interstitialAd;
AdView adView;
private static final String LOG_TAG = "IQ!";

public static final String MY_PUBLISHER_ID = "abc";

@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState); // call the superclass's method
setContentView(R.layout.main_first_page); // inflate the GUI


Button ButtonNum= (Button) findViewById(R.id.buttonB);
Button ButtonHeart= (Button) findViewById(R.id.buttonC);
Button ButtonMath= (Button) findViewById(R.id.buttonD);

interstitialAd = new InterstitialAd(this, MY_PUBLISHER_ID); // Create an ad.
interstitialAd.setAdListener(this); // Set the AdListener.
AdRequest adRequest = new AdRequest();
adRequest.addTestDevice(AdRequest.TEST_EMULATOR);
interstitialAd.loadAd(adRequest);

if (interstitialAd.isReady()) {interstitialAd.show();}
else {Log.d(LOG_TAG, "Interstitial ad was not ready to be shown.");}
}
/** Called when an ad is clicked and about to return to the application. */
@Override
public void onDismissScreen(Ad ad) {
Log.d(LOG_TAG, "onDismissScreen");
Toast.makeText(this, "onDismissScreen", Toast.LENGTH_SHORT).show();
}

/** Called when an ad was not received. */
@Override
public void onFailedToReceiveAd(Ad ad, AdRequest.ErrorCode error) {
String message = "onFailedToReceiveAd (" + error + ")";
Log.d(LOG_TAG, message);
Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
}

/** Called when an ad is clicked and going to start a new Activity that will
* leave the application (e.g. breaking out to the Browser or Maps
* application).
*/
@Override
public void onLeaveApplication(Ad ad) {
Log.d(LOG_TAG, "onLeaveApplication");
Toast.makeText(this, "onLeaveApplication", Toast.LENGTH_SHORT).show();
}

/* Called when an Activity is created in front of the app (e.g. an
* interstitial is shown, or an ad is clicked and launches a new Activity).
*/
@Override
public void onPresentScreen(Ad arg0) {
// TODO Auto-generated method stub
}

/** Called when an ad is received. */
@Override
public void onReceiveAd(Ad ad) {
Log.d(LOG_TAG, "onReceiveAd");
Toast.makeText(this, "onReceiveAd", Toast.LENGTH_SHORT).show();
}

最佳答案

插页式广告需要时间来加载。你在加载它之后直接检查它是否准备好了,所以它肯定还没有准备好。检查您的 logcat 输出,您可能会看到您记录的 “Interstitial ad was not ready to be shown.” 消息。

在调用 onReceiveAd() 回调之前,插页式广告不会准备就绪。您可以安全地将 interstitialAd.show() 放在 onReceiveAd() 回调中,插页式广告将立即显示。

另一个用例可能是您希望稍后显示插页式广告,例如游戏关卡结束时。在这种情况下,您可以在关卡开始时预加载插页式广告,并在关卡结束时查询 isReady 标志以查看插页式广告是否准备就绪。

关于android InterstitialAd 不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13608434/

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