YuMeWrapper is an ActionScript 3 wrapper around YuMe Network’s library SWF for publishers. It provides a consistent abstraction of their ActionScript 3 SDK, as well as much more thorough documentation of the YuMe SDK than what YuMe themselves provide.

This wrapper supports all of the standard YuMe library functionality, including pre-roll, mid-roll, overlay, and post-roll advertisements, with two exceptions: midroll playlist prefetching is not supported, and extra fullscreen options are not supported. It also provides loads of additional fixes and functionality that does not exist in the YuMe library core.

Get more information and download YuMeWrapper

7 Responses to this post

  1. Can you please provide this in .zip format? what is bz2??
    thanks,

  2. wow, this looks awesome, you've done a lot of work, Do you have any mxml examples that show how to implement all of this?
    thanks,
    steve

  3. When I issue a stop() command while the ad is playing, the video stops, however I continue to get TIME_ELAPSED events with the time that it stopped at. These TIME_ELAPSED events never stop!!
    Also, calling the play() command while in this state does not work, you cannot play another ad after you issue a stop() command while an ad is playing. Here is the console after I issue a stop() command:
    ...
    Yume EVENT ==> Time = 0
    sample LocalConnection.send() succeeded
    yume_ad_cleanup
    cur_mc._url=http://mywebsit.com/swf/yume_player_4x3.swf?randConnection=21948634
    cur_mc._url=undefined
    cur_mc._url=undefined
    Yume EVENT ==> ad_playing
    stop here
    Yume EVENT ==> Time = 3.082
    Yume EVENT ==> Time = 3.082
    Yume EVENT ==> Time = 3.082
    Yume EVENT ==> Time = 3.082
    Yume EVENT ==> Time = 3.082
    Yume EVENT ==> Time = 3.082
    ...

  4. Hi steve,

    I’ve uploaded a new release candidate that should correct the problem you were having with the AdEvent.TIME_ELAPSED event. Sorry about the trouble (that’s why it is only a release candidate! ;)). You can get the new version from the YuMeWrapper download page.

    As far as use directly within mxml, it should be something as simple as this:

    <mx:Application xmlns:yume="com.zetafleet.yume.*" xmlns:mx="http://www.adobe.com/2006/mxml" width="480" height="360">
    <yume:YuMeWrapper id="wrapper" />
    </mx:Application>

    Then, call wrapper.play() from script when you want to play an ad. Please do take that example with a large grain of salt, though—I haven’t tried testing it. :)

    Regards,

  5. Hi,
    Thanks for the fix, it works great, but on to my next problem:

    If you Stop a video in the middle, and then 'play',
    the _dirty flag is still false, and the private function '_start'
    never gets called and a new video ad never gets loaded.
    The 'play' function works great if the video is 'paused' and resumes
    the video, but the 'play' function does not load another video after a
    'stop'.

    You need to differentiate between 'play' (resuming a paused video) and
    'play' (starting a new video)
    thanks,
    steve

  6. Colin,
    It is fantastic that you would publish your work and help us advance so fast. It is great to be able to stand on your shoulders. There are not that many people on the internet that really know what they are talking about and are willing to publish their work like this.

    Quick question. Looks like you have modified the code for interaction with the accompanying banner ads for Yume. How are you embedding your flash on the page. Do you need all their parameters. I assume you still use their javascript, but it would be helpful to see an example of how you put your player in the page, and what parameters and javascript you are still using after you have "fixed" Yume's api. Both we and Yume owe you a lot!

  7. Hi dan,

    The parameters that they tell you to provide in their documentation are never actually used, even in their own examples. It’s very very very confusing, I know. I had more than one headache trying to figure out what the hell they were talking about. So you can pretty much just ignore everything that they wrote, because it’s wrong.

    For interaction with JavaScript, you can either create and use their defined callback function (the arguments they pass are listed under YuMeWrapper.externalInterface), or do an ExternalInterface.call manually in response to companion banner events within the player. I chose to do the latter with my implementation, which works out to simply: ExternalInterface.call('yume.loadIFrame', event.relatedObject).

    Regards,

Add a comment