我正在使用最新的 DailyMotion 播放器 API。
有什么方法可以检测到 DM 播放器现在播放 DM 商业广告的事实吗?
现在我正在通过运行 500 毫秒 setTimeout 循环来检查这一点(因为大约 400 毫秒是两个 timeupdate 事件之间的间隔)来检查玩家是否处于播放状态 && timeupdate 没有从上次更新,那么这意味着它在商业权利现在。但它并不完美,并且由于循环迭代时间而存在 500-1000 毫秒的延迟。
我正在使用最新的 DailyMotion 播放器 API。
有什么方法可以检测到 DM 播放器现在播放 DM 商业广告的事实吗?
现在我正在通过运行 500 毫秒 setTimeout 循环来检查这一点(因为大约 400 毫秒是两个 timeupdate 事件之间的间隔)来检查玩家是否处于播放状态 && timeupdate 没有从上次更新,那么这意味着它在商业权利现在。但它并不完美,并且由于循环迭代时间而存在 500-1000 毫秒的延迟。
要检测广告何时播放,您必须在自定义 WebViewClient 中覆盖以下方法:
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Uri uri= Uri.parse(url);
if (uri.getScheme().equals("dmevent")) {
String event = uri.getQueryParameter("event");
switch (event) {
case "ad_start":
// The ad has started playing
break;
case "ad_end":
// The ad is over
break;
}
return true;
}
return super.shouldOverrideUrlLoading(view, url);
}
在这里您可以找到一些其他有用的事件:https ://developer.dailymotion.com/documentation#player-api-events