从片段中显示插页式广告

时间:2016-06-07 17:13:44

标签: android android-fragments interstitial

我一直在搜索几个小时,而且我无法显示一个简单的插页式广告。布局是在片段内,我确信这是问题的一部分,但我无法找到解决方法。非常感谢任何帮助 - 我看到的大部分内容都是在活动中展示广告。

我希望在用户点击应用中的按钮之前显示插页式广告。我确定问题出在(这个)但我找不到任何东西。

    mInterstitialAd = new InterstitialAd(this);
    mInterstitialAd.setAdUnitId("example ad unit");

    mapFab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (mInterstitialAd.isLoaded()) {
                mInterstitialAd.show();
            } else {

            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setData(Uri.parse(Constants.MAPS_INTENT_URI));
            startActivity(intent);
        }
    });

2 个答案:

答案 0 :(得分:2)

是的问题出在this上。既然你是在片段中调用它,它就不会起作用。因为这是docs的构造函数:

public InterstitialAd (Context context)

构造函数需要上下文。所以改变你的代码:

mInterstitialAd = new InterstitialAd(getContext());

答案 1 :(得分:2)

为避免NullPointerException,可以使用requireContext()

mInterstitialAd = new InterstitialAd(requireContext());