Giter VIP home page Giter VIP logo

vpaidflashclient's Introduction

VPAIDFLASHClient

bitHound Score Code Climate Build Status devDependency Status

About

JS + Flash wrapper for VPAID.

VPAID or Video Player Ad-Serving Interface Definition, establishes a common interface between video players and ad units, enabling a rich interactive in-stream ad experience.

Because some of the ad's are in flash, this projects will allow to expose the api to be used by js.

JS is responsible of:

  • create a uniqueid for the vpaid and request swfobject to load the swf
  • to do the bridge between vpaid api between flash and js using ExternalInterface
  • for security reasons the swf will not be allowed to communicate with flash if not excuting in the server

Flash is responsible of:

  • load the ad Unit
  • expose ad Unit interface to outside
  • using the uniqueid to identify the swf

The goals of VPAIDFLASHClient are:

  • common interface for VPAID in different technologies HTML5 and FLASH.
  • handle how to load the VPAID adUnit
  • be a simple and "stupid" implementation of VPAID

check videosjs-vast-vpaid if you need VPAID in videojs

TODO

JS

The project uses:

3rd party

Flash

Flash is compiled using Flex SDK.

Debug

  • when creating a VPAIDFLASHClient instance the last parameter is debug, if this flag is set to true, will create a visual textfield that allows to show errors
  • as well if the js+flash is working all errors catch by the VPAIDFlash.swf will be sent to js
  • other error's can be caugth with Flash debugger

Flash debugger

Allows to flash to throw errors in a popup like window. To install go to adobe support page and install the flash player with content debugger in the name for the correct OS. PS:

  • in Google Chrome the Flash debugger is not working (the last time I tried), I found an issue in chromium, so install in Firefox or other if not working for you in Google Chrome.

Running the project

  • install nodejs, bower and gulp
  • npm install will to install all dependencies
  • bower install will install swfobject, if you run npm install will execute as well bower install using postinstall
  • ./flexSDK.sh will install in vendor folder flex sdk that will allow to compile flash without needing flash, flash builder or flashDevelop
  • gulp serve or npm start to start build script and a demo page should be open in default browser
  • gulp to watch, bundle and run tests
  • npm test or gulp test:ci task used by the server

Example of the usage

var flashVPaid = new VPAIDFLASHClient(element, flashVPAIDWrapperLoaded);
function flashVPAIDWrapperLoaded(err, result) {
    if (err) {
        //handle error here
        return;
    }

    flashVPaid.loadAdUnit('TestAd.swf', function (error, adUnit) {

        if (err) {
            //handle error here
            return;
        }

        adUnit.on('AdLoaded', function (err, result) {
            console.log('event:AdLoaded', err, result);
            startAd();
        });

        adUnit.on('AdStarted', function (err, result) {
            console.log('event:AdStarted', err, result);
            checkAdProperties();
        });

        adUnit.handshakeVersion('2.0', function (err, result) {
            initAd();
        });

        function initAd() {
            adUnit.initAd(0, 0, 'normal', -1, '', '', function (err) {
                console.log('initAd', err);
            });
        }

        function startAd() {
            adUnit.startAd(function (err, result) {
                console.log('startAd call', err, result);
            });
        }

        function checkAdProperties() {
            adUnit.getAdIcons(function (err, result) {
                console.log('getAdIcons', result);
            });
            adUnit.setAdVolume(10, function (err, result) {
                console.log('setAdVolume', result);
            });
            adUnit.getAdVolume(function (err, result) {
                console.log('getAdVolume', result);
            });
        }

    });
}

for the api of VPAIDFLASHClient check VPAIDFLASHClient.js, for adUnit api check IVPAIDAdUnit.js.

License

licensed under the MIT License, Version 2.0. View the license file

Copyright © 2015 MailOnline

vpaidflashclient's People

Contributors

carpasse avatar fetz avatar lizozom avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.