使用SurfaceView在活动上显示插页式广告的行为

问题描述 投票:1回答:1

除其他观点外,我在主要活动中使用的是SurfaceView

扩展SurfaceView的类也使用回调方法实现SurfaceView

  • surfaceCreated
  • surfaceChanged
  • surfaceDestroyed

我也在使用SurfaceView展示SurfaceHolder.Callback广告。

现在,我经历了两种不同的行为,即开始由我发起的子活动,并显示使用Google Admob SDK开始的插页式广告。


  1. 由我自己进行儿童活动的行为

我使用

SurfaceHolder.Callback

一旦返回主活动,它将调用Google Admob Mobile Ads SDK方法InterstitialInterstitial


  1. 通过Google Admob SDK进行startActivity(new Intent(getBaseContext(), SettingsActivity.class)); 开头的行为

我使用

SurfaceHolder.Callback

一旦返回到主要活动,就会调用SurfaceHolder.Callback方法surfaceDestroyedsurfaceCreated。是的,它两次调用interstitial ad

[使用Android Studio“布局检查器”,我看到开始的插页式广告也是一个活动(if(_myInterstitialAd.isLoaded()) { _myInterstitialAd.show(); } )。所以我真的很想知道我何时开始自己的活动。

SurfaceHolder.Callback


有人可以解释Google如何实现仅调用SurfaceHolder.Callback方法的行为吗?

也许我在surfaceChanged通话中错过了一个Intent标志?

android android-intent admob interstitial
1个回答
0
投票

这是我想出的。如果有人可以告诉我有关它的更准确的信息,我将很乐意接受“完整”的解释性答案。

有人可以解释Google如何实现仅调用surfaceChanged方法的行为吗?

答案:之所以调用surfaceChanged方法,是因为插页式广告显示为全屏。我可以在com.google.android.gms.ads.AdActivity之后触发相同的行为。

[我坚信Google AdActivity实际上不是一项活动(如果有人证明我错了,我很高兴),这就是为什么在显示插页式广告时未调用surfaceChangedstartActivity的原因。

© www.soinside.com 2019 - 2024. All rights reserved.