Android 从片段中获取要显示的间隙广告

Android 从片段中获取要显示的间隙广告,android,android-fragments,interstitial,Android,Android Fragments,Interstitial,我已经找了好几个小时了,我找不到一个简单的插页广告来展示。布局在一个片段中,我确信这是问题的一部分,但我找不到解决方法。非常感谢您的帮助-我看到的大部分内容都是在活动中显示广告 我希望在用户单击应用程序中的按钮之前显示间隙。我肯定问题出在(这个),但我什么也找不到 mInterstitialAd = new InterstitialAd(this); mInterstitialAd.setAdUnitId("example ad unit"); mapFab.setOn

我已经找了好几个小时了,我找不到一个简单的插页广告来展示。布局在一个片段中,我确信这是问题的一部分,但我找不到解决方法。非常感谢您的帮助-我看到的大部分内容都是在活动中显示广告

我希望在用户单击应用程序中的按钮之前显示间隙。我肯定问题出在(这个),但我什么也找不到

    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);
        }
    });

是的,
存在问题。因为您是在片段中调用它,所以它不会工作。因为这是文档中的构造函数:

构造函数需要上下文。因此,请按如下方式更改代码:

mInterstitialAd = new InterstitialAd(getContext());

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


如果您的目标是getActivity()而不是
getContext()
mInterstitialAd = new InterstitialAd(requireContext());