【问题标题】:DailyMotion Player API Being on commercial ad stateDailyMotion Player API 处于商业广告状态
【发布时间】:2015-04-21 19:35:02
【问题描述】:

我正在使用最新的 DailyMotion 播放器 API。
有什么方法可以检测到 DM 播放器正在播放 DM 商业广告这一事实?

现在我正在通过运行 500 毫秒 setTimeout 循环来检查这一点(因为大约 400 毫秒是两个 timeupdate 事件之间的间隔)来检查玩家是否处于播放状态 && timeupdate 没有从上次更新,那么这意味着它是现在在商业上。但它并不完美,由于循环迭代时间,有 500-1000ms 的延迟。

【问题讨论】:

    标签: javascript dailymotion-api


    【解决方案1】:

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

    【讨论】:

    • 你好,我上次用的是DM api,我用的是Javascript player api,没听懂custom WebViewClient是什么意思,能解释一下吗?
    • 前一段时间*
    • 糟糕,我还以为你在使用 Android!很抱歉,我的回答对你没有任何帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多