Поведение показа промежуточной рекламы в действии с использованием SurfaceView - PullRequest
1 голос
/ 04 мая 2020

Я использую, помимо прочего, SurfaceView в своей основной деятельности.

Класс, расширяющий SurfaceView, реализует также SurfaceHolder.Callback с методами обратного вызова:

  • surfaceCreated
  • surfaceChanged
  • surfaceDestroyed

I'm также с помощью Google Admob Mobile Ads SDK для показа Interstitial объявлений.

Теперь я испытываю два разных поведения, начиная дочернее действие, начатое мной, и показывая промежуточный объявление начало использовать Google Admob SDK.


  1. Поведение, с которого я запускаю дочернюю деятельность самостоятельно

Я использую

startActivity(new Intent(getBaseContext(), SettingsActivity.class));

, который вызывает SurfaceHolder.Callback методы surfaceDestroyed и surfaceCreated по возвращении к основному виду деятельности.


Поведение запуска промежуточного объявления из Google Admob SDK

Я использую

if(_myInterstitialAd.isLoaded())
{
  _myInterstitialAd.show();
}

, который вызывает SurfaceHolder.Callback методы surfaceChanged и surfaceChanged после того, как я вернусь к основной деятельности. Да, он вызывает surfaceChanged дважды.

С помощью "1077 * Studio" Layout Inspector "я вижу, что запущенное промежуточное объявление также является Activity (com.google.android.gms.ads.AdActivity). Поэтому мне действительно интересно, что происходит, когда я начинаю свою собственную деятельность.

Google AdActivity


Может кто-нибудь объяснить, как Google достигает такого поведения, что только Вызваны методы surfaceChanged?

Может быть, я пропустил флаг Intent в моем startActivity вызове?

...