我一直在搜索几个小时,而且我无法显示一个简单的插页式广告。布局是在片段内,我确信这是问题的一部分,但我无法找到解决方法。非常感谢任何帮助 - 我看到的大部分内容都是在活动中展示广告。
我希望在用户点击应用中的按钮之前显示插页式广告。我确定问题出在(这个)但我找不到任何东西。
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);
}
});
答案 0 :(得分:2)
是的问题出在this
上。既然你是在片段中调用它,它就不会起作用。因为这是docs的构造函数:
public InterstitialAd (Context context)
构造函数需要上下文。所以改变你的代码:
mInterstitialAd = new InterstitialAd(getContext());
答案 1 :(得分:2)
为避免NullPointerException,可以使用requireContext()
mInterstitialAd = new InterstitialAd(requireContext());