我有一个Webview,其中有一个嵌入式YouTube视频。我的应用程序也有一个AdMob标语。
我想在用户播放视频时从应用程序中隐藏本机admob横幅,因此在播放视频时不会显示横幅。
有什么想法可以做到吗?非常感谢。
答案 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代码中获取回调。
更多详细信息
答案 3 :(得分:0)
您为什么不使用默认的videoview播放youtube视频,这将使admob bannner与播放的视频之间的通信更加容易,其应用的逻辑与 kasiopeous