2017-01-09 3 views
-1

Я включил Youtube Data API и Google Ads в свой текущий проект. Все работающие нормально ожидают, что видео не возобновится после правильной загрузки InterstitialAd в полноэкранном режиме.Возобновить видео после InterstitialAd, загруженного с помощью проигрывателя Youtube

Если я использую

player.setPlayerStyle(YouTubePlayer.PlayerStyle.CHROMELESS); 

, то нет никакой возможности для воспроизведения видео снова, если загружен объявление.

Если я использую

player.setPlayerStyle(YouTubePlayer.PlayerStyle.DEFAULT); 

затем после объявления загружено я вызвал кнопку паузы вручную для воспроизведения видео в YOU TUBE игроке. Моя цель - возобновить видео после того, как InterstitialAd успешно загружен без взаимодействия с Youtubeplayer.

Вот мой код onCreate():

try { 
     youTubeView.initialize(Config.DEVELOPER_KEY, this); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    mAdMobInterstitialAd = new InterstitialAd(this); 
    mAdMobInterstitialAd.setAdUnitId(getString(R.string.full_screen_id)); 
    requestNewInterstitial(); 
    mAdMobInterstitialAd.setAdListener(new AdListener() { 
     public void onAdLoaded() { 
      showInterstitialAd(); 
     } 
     @Override 
     public void onAdClosed() { 
     } 
    }); 

} 

private void showInterstitialAd() { 
    if (mAdMobInterstitialAd.isLoaded()) { 
     mAdMobInterstitialAd.show(); 
    } 
} 

// Инициализация для Youtube игрока

@Override 
public void onInitializationSuccess(final YouTubePlayer.Provider provider, 
            final YouTubePlayer player, boolean wasRestored) { 
    this.you_player = player; 
    player.addFullscreenControlFlag(YouTubePlayer.FULLSCREEN_FLAG_ALWAYS_FULLSCREEN_IN_LANDSCAPE); 
    if (!wasRestored) { 
     if (isOnline()) { 
      if (player != null) { 
       try { 
        player.cueVideo(VIDEO_ID); 
       } catch (Exception e) { 
        provider.initialize(Config.DEVELOPER_KEY, this); 
       } 
      } 
      player.setFullscreen(true); 
      player.setPlayerStyle(YouTubePlayer.PlayerStyle.CHROMELESS); 
     } else { 
      Toast.makeText(YoutubePlayerActivity.this, "No Internet Connection", Toast.LENGTH_SHORT).show(); 
     } 
    } 
} 

@Override 
public void onDestroy() { 
    if (you_player != null) { 
     you_player.release(); 
    } 
    super.onDestroy(); 
} 

Я также попытался инициализировать YoutubePlayer и загружать видео в onAdClosed() и onAdLoaded() методы вручную, но ни один из они работают.

Продвинутая помощь будет оценена!

+2

Вы можете попробовать, чтобы сэкономить время видео в 'onAdLoaded', а затем воспроизводить видео с одновременно в' onAdClosed' надеется, что это помогает –

+0

я уже попробовал эту вещь – Piyush

+0

так что вы хотите, чтобы приостановить видео, когда интерстициальное объявление шоу и когда пользователь вручную закрывает объявление, то вы хотите возобновить его? я прав? @Piyush –

ответ

0

У меня была аналогичная проблема. У меня есть кнопка, показывающая объявление или проигрыватель YouTube (you_player).

if (mInterstitialAd.isLoaded()) 
{ 
    mInterstitialAd.show(); 
} 
else 
{ 
    PlayVideo(); // Do something and call you_player.loadVideo(video_Id) 
} 

В вашем объявлении Listener, вместо PlayVideo вызова() на onAdClosed метод, просто сделать запрос на RequestNewInterstitial():

mInterstitialAd.setAdListener(new AdListener() 
{ 
    @Override 
    public void onAdClosed() 
    { 
     //PlayVideo(); 

     RequestNewInterstitial(); 
    } 
}); 

onResume() для этой деятельности будет звонить после onAdClosed (), и вы можете позвонить в свой PlayVideo().

@Override 
protected void onResume() 
{ 
    super.onResume(); 

    if (your_player == null) 
    { 
     youTubeView.initialize(Config.DEVELOPER_KEY, this); 
    } 
    else 
    { 
     PlayVideo(); 
    } 
}