【发布时间】:2017-01-09 11:31:36
【问题描述】:
我在当前项目中集成了Youtube Data API 和 Google Ads。一切正常,预计在全屏正确加载InterstitialAd 后视频不会恢复。
如果我使用
player.setPlayerStyle(YouTubePlayer.PlayerStyle.CHROMELESS);
如果加载了广告,则无法再次播放视频。
如果我使用
player.setPlayerStyle(YouTubePlayer.PlayerStyle.DEFAULT);
然后在加载广告后,我手动触发了暂停按钮以在您的电子管播放器中播放视频。
我的目的是在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() 方法中加载视频,但它们都不起作用。
非常感谢您的高级帮助!
【问题讨论】:
-
您可以尝试在
onAdLoaded中保存视频时间,然后在onAdClosed中播放同一时间的视频,希望对您有所帮助 -
这个东西我已经试过了
-
所以你想在插页式广告显示时暂停视频,当用户手动关闭广告然后你想恢复?我对吗? @Piyush
-
我不想手动恢复视频。广告关闭后应该会自动恢复
-
那么在
showInterstitialAd()中调用player.pause()和在onAdClosed()中调用player.play()对您不起作用? @Piyush
标签: android ads youtube-data-api