DailyMotion Player API处于商业广告状态

时间:2015-02-01 23:01:19

标签: javascript dailymotion-api

我使用最新的DailyMotion播放器api。
有没有办法检测DM播放器现在播放DM商业广告的事实?

现在我通过运行500ms setTimeout循环(大约400ms是两个timeupdate事件之间的间隙)检查这是否正在检查播放器是否处于播放状态&& timeupdate从最后一次没有更新,那就意味着它现在正在商业化。但它并不完美,由于循环迭代时间延迟了500-1000ms。

1 个答案:

答案 0 :(得分:0)

要检测广告播放的时间,您必须在自定义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