假设您使用的是 Google Admob SDK,因为您尚未指定您使用的广告服务器软件。
您可以将 AdListener 附加到屏幕上的广告空间,并在添加失败时处理您想要执行的操作。
import android.content.Context;
import android.util.Log;
import android.widget.Toast;
import com.google.ads.Ad;
import com.google.ads.AdListener;
import com.google.ads.AdRequest;
import com.google.ads.AdRequest.ErrorCode;
public class AdmobAdListener implements AdListener {
Context context;
AdRequest adRequest;
public AdmobAdListener(Context context, AdRequest adRequest) {
this.context = context;
this.adRequest = adRequest;
}
/** The log tag. */
private static final String LOG_TAG = "AdmobAdListener";
/** Called when an ad is clicked and about to return to the application. */
public void onDismissScreen(Ad arg0) {
Log.d(LOG_TAG, "onDismissScreen");
Toast.makeText(context, "onDismissScreen",
Toast.LENGTH_SHORT).show();
}
/** Called when an ad was not received. */
public void onFailedToReceiveAd(Ad ad, ErrorCode error) {
String message = LOG_TAG + " onFailedToReceiveAd (" + error + ")";
Log.d(LOG_TAG, message);
Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
ad.loadAd(adRequest);
}
/**
* 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).
*/
public void onLeaveApplication(Ad ad) {
Log.d(LOG_TAG, "onLeaveApplication");
Toast.makeText(context, "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).
*/
public void onPresentScreen(Ad ad) {
Log.d(LOG_TAG, "onPresentScreen");
Toast.makeText(context, "onPresentScreen",
Toast.LENGTH_SHORT).show();
}
/** Called when an ad is received. */
public void onReceiveAd(Ad ad) {
Log.d(LOG_TAG, "onReceiveAd");
Toast.makeText(context, "onReceiveAd", Toast.LENGTH_SHORT).show();
}
}
在布局 XML 文件中使用此标记
<com.google.ads.AdView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:id="@+id/adMob"
ads:adUnitId="abcdefghighlmnop123"
ads:adSize="BANNER"/>