Admob插页式广告不会展示

use*_*663 22 android interstitial admob

我曾经在我未来的应用上展示AdMob横幅广告,并且我想尝试一下插页式广告.

我检查了AdMob SDK的实现,我复制了他们的示例源,因为它正是我想要的(即活动启动时显示的插页式广告).

我在模拟器和我的Galaxy上尝试过,没有显示任何广告.

这是源代码:

public class Asscreed extends Activity {
    private InterstitialAd interstitial;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_asscreed);

        // Create the interstitial.
        interstitial = new InterstitialAd(this);
        interstitial.setAdUnitId("ca-app-pub-6046034785851961/xxxxxx");

        // Create ad request.
        AdRequest adRequest = new AdRequest.Builder().build();

        // Begin loading your interstitial.
        interstitial.loadAd(adRequest);
    }

    // Invoke displayInterstitial() when you are ready to display an interstitial.
    public void displayInterstitial() {
        if (interstitial.isLoaded()) {
            interstitial.show();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

导入正常,Google Play服务库当然是导入的.

我使用此示例: AdMob Android指南 - 非页内广告.

有人能告诉我我的代码有什么问题吗?

Kum*_*bek 48

您应该等待广告加载.只有这样,您才可以调用displayInterstial()方法来显示广告.

您可以注册一个监听器,它会在加载完成时通知您.

interstitial.setAdListener(new AdListener(){
          public void onAdLoaded(){
               displayInterstitial();
          }
});

  • 除非您想要骚扰您的用户,否则请勿在加载后立即显示插页式广告.等到你的应用程序适当中断并显示它. (23认同)

小智 7

这对我来说.

// Begin listening to interstitial & show ads.
interstitial.setAdListener(new AdListener(){
     public void onAdLoaded(){
          interstitial.show();
     }
});
Run Code Online (Sandbox Code Playgroud)

我仍然想知道为什么谷歌的所有人上传代码实现方向,只有一个跟随他们到点后不工作..

  • 这可能会导致违反AdMob规则.根据Google指南的插页式广告只应在从一个部分转换到另一个部分的过程中显示,因此在加载之后直接显示广告不被视为良好做法. (2认同)

Muh*_*hid 6

我有同样的问题.问题是,在清单中没有定义admob活动.请确保您的清单文件中包含以下活动标记

<activity
        android:name="com.google.android.gms.ads.AdActivity"
        android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
        android:theme="@android:style/Theme.Translucent" />
Run Code Online (Sandbox Code Playgroud)