播放网络视图视频时隐藏admob横幅

时间:2019-03-28 20:37:57

标签: android webview youtube admob

我有一个Webview,其中有一个嵌入式YouTube视频。我的应用程序也有一个AdMob标语。

我想在用户播放视频时从应用程序中隐藏本机admob横幅,因此在播放视频时不会显示横幅。

有什么想法可以做到吗?非常感谢。

4 个答案:

答案 0 :(得分:1)

我想到的建议之一是将AdView的可见性设置为GONE,并在视频播放时调用mAdView.pause() AdView。这样可以防止对AdMob提出任何其他请求。视频播放完毕后,您想再次显示横幅-您应将AdView的可见性设置为VISIBLE,然后调用mAdView.resume()

答案 1 :(得分:1)

我正在使用jquery来显示我的视频以及其他内容和admob。使用webview时,它也应适用于您的情况。
您需要检测事件-onPlayerStateChange。检查显示代码和先决条件的问题:
  Check if YouTube video is playing and run script

答案 2 :(得分:0)

webview和native之间的通信是通过JavascriptInterface完成的。 YouTube以类似的方式构建了它的API。您可以使用以下代码来实现所需的功能。

要通过YouTube视频实现播放/暂停功能,可以使用YouTube JavaScript Player API

示例:

<div id="video-placeholder"></div>

<script src="https://www.youtube.com/iframe_api"></script>

API完全加载后,它将查找您应该定义的名为onYouTubeIframeAPIReady()的全局函数。

您的代码应如下所示

var player;

function onYouTubeIframeAPIReady() {
    player = new YT.Player('video-placeholder', {
        width: 600,
        height: 400,
        videoId: 'Xa0Q0J5tOP0',
        playerVars: {
            color: 'white',
            playlist: 'taJ60kskkns,FG0fTKAqZ5g'
        },
        events: {
            onReady: initialize
        }
    });
}

只需单击两个按钮,然后单击单击即可调用所需的方法。

$('#play').on('click', function () {
    player.playVideo();
});

$('#pause').on('click', function () {
    player.pauseVideo();
});

您可以使用JavascriptInterface从WebView的本地java / kotlin代码中获取回调。

更多详细信息

  1. Youtube javascript player API示例

  2. JavaScript Interface示例

答案 3 :(得分:0)

您为什么不使用默认的videoview播放youtube视频,这将使admob bannner与播放的视频之间的通信更加容易,其应用的逻辑与 kasiopeous