gpt4 book ai didi

android-activity - Admob Interstitial 加载但显示空白屏幕

转载 作者:太空宇宙 更新时间:2023-11-03 10:45:25 26 4
gpt4 key购买 nike

我试图将 Admob Interstitial 添加到我的 Android 应用程序中,当有人离开 Activity 时会显示该应用程序。

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.InterstitialAd;

public class Banner extends Activity {

/**
* Your ad unit id, you must replace it with your actual ad unit id Which
* you can generate from Admob website
*
*/
private static final String AD_UNIT_ID = "MY ADD UNIT ID";
private static final String TAG = "ExampleActivity";
private InterstitialAd iAd;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.banner);

iAd = new InterstitialAd(this);
iAd.setAdUnitId(AD_UNIT_ID);

iAd.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
Log.d(TAG, "onAdLoaded");
Toast.makeText(Banner.this, "Ad loaded successfully",
Toast.LENGTH_SHORT).show();
}

@Override
public void onAdFailedToLoad(int errorCode) {
String errorMessage = String.format("Failed to load add : "
+ getErrorReason(errorCode));
Log.d(TAG, errorMessage);
Toast.makeText(Banner.this, errorMessage,
Toast.LENGTH_SHORT).show();
}
});

loadInterstitial();
}

public void loadInterstitial() {
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice(
"You can add you device id here, run code once and get id from logs")
.build();

iAd.loadAd(adRequest);
}

public void showInterstitial() {
if (iAd.isLoaded()) {
iAd.show();
} else {
Log.d(TAG, "Interstitial ad is not loaded yet");
}
}

/**
* Gets a string error reason from an error code
*
* @param errorCode
* @return
*/
private String getErrorReason(int errorCode) {

String errorReason = "unknown error";

switch (errorCode) {
case AdRequest.ERROR_CODE_INTERNAL_ERROR:
errorReason = "internal error";
break;
case AdRequest.ERROR_CODE_INVALID_REQUEST:
errorReason = "invalid request";
break;
case AdRequest.ERROR_CODE_NETWORK_ERROR:
errorReason = "network Error";
break;
case AdRequest.ERROR_CODE_NO_FILL:
errorReason = "no fill";
break;
}
return errorReason;
}

@Override
protected void onDestroy() {
showInterstitial();
super.onDestroy();
}

Interstitial 加载成功但我得到一个像这样的空白屏幕(我等了 1-2 分钟但仍然没有广告显示):

enter image description here

我仔细检查了我的 AD_UNIT_ID。可能是什么问题呢?这是正常的吗?我仍处于开发阶段,当我将我的应用程序上传到 Play 商店时,这个问题会得到纠正吗?

最佳答案

你永远不会让它工作。

在您的 Activity 被销毁时,插页式广告没有上下文。而是在您的应用中找到一个自然的断点,然后显示插页式广告。

关于android-activity - Admob Interstitial 加载但显示空白屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24926263/

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