When I try to load an interstitial, I get the following error:
02-25 10:24:58.198 2310-2310/template.maintemplate E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: template.maintemplate, PID: 2310 java.lang.RuntimeException: Unable to start activity ComponentInfo{template.maintemplate/template.maintemplate.sover}: java.lang.IllegalStateException: The ad unit ID must be set on InterstitialAd before loadAd is called. at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) at android.app.ActivityThread.access$800(ActivityThread.java:144) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5221) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) Caused by: java.lang.IllegalStateException: The ad unit ID must be set on InterstitialAd before loadAd is called. at com.google.android.gms.internal.bi.w(Unknown Source) at com.google.android.gms.internal.bi.v(Unknown Source) at com.google.android.gms.internal.bi.a(Unknown Source) at com.google.android.gms.ads.InterstitialAd.loadAd(Unknown Source) at template.maintemplate.sover.onCreate(sover.java:97) at android.app.Activity.performCreate(Activity.java:5933) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) at android.app.ActivityThread.access$800(ActivityThread.java:144) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5221) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) The code I used to request an interstitial is directly beneath the code I use to request a banner (which works):
// Ads... AdView mAdView = (AdView) findViewById(R.id.adView); AdRequest adRequest = new AdRequest.Builder().build(); mAdView.loadAd(adRequest); // Create the interstitial. interstitial = new InterstitialAd(this); //interstitial.setAdUnitId(AdRequest.DEVICE_ID_EMULATOR); // Create ad request. AdRequest adRequestI = new AdRequest.Builder().addTestDevice("B3EEABB8EE11C2BE770B684D95219").build(); // Begin loading your interstitial. interstitial.loadAd(adRequestI); Line 97 is the last line in the example above. I've tried using interstitial.setAdUnitId(AdRequest.DEVICE_ID_EMULATOR) instead of addTestDevice which doesn't throw an error, but also doesn't load the interstitial.