我已将Youtube Data API
和Google广告整合到我当前的项目中。所有正常工作都希望在全屏正确加载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()
方法中的视频,但这些方法都不起作用。
如此高级的帮助将不胜感激!
答案 0 :(得分:0)
我有类似的问题。我有一个显示广告或播放YouTube播放器的按钮(you_player)。
if (mInterstitialAd.isLoaded())
{
mInterstitialAd.show();
}
else
{
PlayVideo(); // Do something and call you_player.loadVideo(video_Id)
}
在您的广告监听器中,不要在onAdClosed方法上调用PlayVideo(),只需执行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();
}
}