Jump to content
GreenSock

somnamblst

Members
  • Posts

    359
  • Joined

  • Last visited

Everything posted by somnamblst

  1. The word clipping makes me think of print. Is your mask set as a mask in Animate? masks_Canvas.fla
  2. Thanks Frederic, Unfortunately that is mobile app ads only, and requires using Doubleclick Rich Media with the associated impression costs. I think what has changed the most is ad placement. Because people are following social links rather than going to a site's home page or section fronts, banner ad placements have shifted to in article, and are coming into view as people scroll down to continue reading. I did see a 728 I created play from the beginning, but it was in the legacy masthead position, that from my observations, seems to have been abandoned by most sites. HTML5 In-page build guide Make sure that your ad is on screen (mobile app campaigns only) When an ad first loads in a mobile app, it loads off-screen and out of view. If your ad animates or plays silent video, you should wait until the ad is on-screen to play it. If your ad won't serve in mobile apps, you can skip this step. This method only works when an ad serves in a mobile app. When the ad serves in a desktop or mobile browser, the VISIBLE event is triggered as soon as the ad is rendered, however the ad may not be in view.
  3. If people on your ad team used Flash prior to the switch to HTML5, you may want to revisit Flash, now called Animate CC Canvas export. I have a template and a publish template with clicktag.
  4. I don't use any ad blockers, and though the SWF days were long ago, I don't remember not seeing the beginning of animated SWFs back then. Now I feel like I never see much more than the last few seconds oh HTML5 ads. One possibility is placement. In article page banners that appear as you are reading, definitely appear to have been playing before they come into view. Of my own ads i have stumbled upon in the wild, they have all been of this type.
  5. Thanks. I will republish for 2017. Sucks that I have no ability to QA in this Enterprise Security environment. And I let my domain and hosting expire because I realized my plans for blogging weren't going to happen.
  6. Still waiting for AdOps to answer my email about a DCM support ticket. But I will certainly try that. Nothing extends beyond the 300x250 space, and the scrollbars which shouldn't be there, scroll=no, actually overlap the right and bottom of the 300x250 canvas element. The horizontal scroll shows a fair amount of white space to the right, and no additional space vertically. The top and left are aligned, as they should be. I do remember getting rid of a 1 pixel border in an iFrame requiring multiple border parameters. It appears that preventing scrollbars in iFrames isn't bullet proof in all browsers. The browser is Chrome for desktop. http://help.simplytestable.com/errors/html-validation/the-x-attribute-on-the-y-element-is-obsolete-use-css-instead/the-scrolling-attribute-on-the-iframe-element-is-obsolete-use-css-instead/
  7. Coworker saw the 300x600 on a different site on his phone and there were no scrollbars. Could be a Washington Post issue.
  8. Obviously I control nothing that DCM uses to insert banner ads, and yes I am bending the DCM vs DCRM rules (video equals Rich Media). The horizontal scroll is really wide, the vertical about 10 pixels. That being said does anyone see anything that jumps out at them. <style type="text/css" style="display: none !important;"> * { margin: 0; padding: 0; } body { overflow-x: hidden; } #wrapper{ position: relative; width: 300px; height:250px; z-index: 1; } #player { top:55px; left:8px; width: 280px; position: absolute; } </style> <script src="https://code.createjs.com/createjs-2015.11.26.min.js"></script> <script src="mealKit_300x250_youtube_noZindex_TS.js?1493820012728"></script> <script> var canvas, stage, exportRoot; function init() { // --- write your JS code here --- canvas = document.getElementById("canvas"); exportRoot = new lib.mealKit_300x250_youtube_noZindex_TS(); stage = new createjs.Stage(canvas); stage.addChild(exportRoot); stage.enableMouseOver(); createjs.Ticker.setFPS(lib.properties.fps); createjs.Ticker.addEventListener("tick", stage); } </script> <!-- write your code here --> <script type="text/javascript">var clickTag = "https://www.google.com";</script> </head> <body onload="init();" style="background-color:#D4D4D4;margin:0px;"> <div id="wrapper"> <div id="player"></div> <canvas id="canvas" width="600" height="500" style="background-color:rgba(205, 152, 101, 1.00); width:300px; height:250px" onclick="javascript:window.open(window.clickTag)"></canvas> </div> <script> // 2. This code loads the IFrame Player API code asynchronously. var tag = document.createElement('script'); tag.src = "https://www.youtube.com/iframe_api"; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); // 3. This function creates an <iframe> (and YouTube player) // after the API code downloads. var player; function onYouTubeIframeAPIReady() { player = new YT.Player('player', { height: '154', width: '250', videoId: 'XAtmYu0bbKo', playerVars: { 'autoplay': 1, 'modestbranding':1, 'controls': 1, 'fs': 0, 'rel': 0 }, events: { 'onReady': onPlayerReady, 'onStateChange': onPlayerStateChange } }); } var playerReady = false; // 4. The API will call this function when the video player is ready. function onPlayerReady(event) { playerReady = true; player.mute(); } // 5. The API calls this function when the player's state changes. // The function indicates that when playing a video (state=1), // the player should play for six seconds and then stop. function onPlayerStateChange(event) { if (event.data == YT.PlayerState.ENDED) { <!-- alert('done'); --> } } </script>
  9. The first question for Rich Media is always, which Rich Media vendor. For expandables you use that vendor's method. DCRM expanding templates https://www.richmediagallery.com/tools/template-database#filterTplDb:424~
  10. I verified that this can happen. A campaign I did that was one of my first Animate CC published canvas banner ads, was just restarted as a pickup. The text in question was a lockup, which is why I had copy and pasted it from In Design to Illustrator to Animate. The font was Impact. I saw one in the wild, where the text had reverted to times on a Mac that did not have Impact.
  11. That is because trafficking your DCRM uploaded assets will result in a DCRM specific rich media tag, which is either supplied to publishers to run on a specific site (DFP) or to DCM.
  12. I decided to take a different approach. But since I want the video in this particular campaign, to come in last, but not be user initiated, I have to have it hidden and paused, and then have Animate tell the video to play once that frame is reached. I play around with this stuff, when I am waiting for approval on another campaign, which is frustrating, because now I have approval and can't get back to Plan B video hidden and paused right away. Or maybe the best approach would be to have Animate load a YTplayer iframe that is autoplay when the timeline hits a certain frame....
  13. I passed two of Doubleclick's certifications. You definitely have to study, even for things you may never use like Dynamic. I had a Doubleclick employee walk me through over the phone when I was first given access. The certifications have study guides. You don't build, you upload, but you do need to know what to choose in the drop downs, so you need to know the DCRM lingo. https://www.richmediagallery.com/tools/certification
  14. Rich media has impression fees. I was Studio certified for Flash for DCRM. You have to take a test. They revoked my credentials when I did not retest for HTML5. It was a lot like having self serve access to Pointroll, except Pointroll didn't make sure you knew what you were doing by making you test. Even if you are just building in Studio, someone has to traffic those tags, it won't just be zipping your assets and handing them off. For anyone interested, I found the documentation on Enhanced banner metrics for DCM. https://support.google.com/richmedia/answer/6279526?hl=en
  15. Coming from someone who ultimately ended up being asked to traffic her own Pointroll tags, if you can avoid being sucked into having to use Studio, I would try for that. Because then you end up having to do AdOps tasks Enhanced banners in DCM have advanced metrics. We actually had a Google employee assisting us with the transition. He said only expandables, video and dynamic had to be rich media AKA DCRM. We also had value added geo targeted Dynamic probably because this is a big account. That was not available post SWFs, and that was the point where Doubeclick was pushing people to become certified, at least one person per creative shop, to traffic their own DCRM ads.
  16. I remember when the Chrome change to SWFs auto playing came down. We actually received a forwarded email that said all DCM accounts were being upgraded for free to Enhanced Banners. Enhanced banners have extended metrics. Because I also had DCM login info, I peeked at what the AdOps people were doing in this new workflow, and it did not appear that the AdOps people were actually booking my banners as Enhanced. So what I am saying is, if those metrics aren't there, it may be due to AdOps not taking advantage of that free upgrade and not booking your ads as enhanced. https://doubleclick-advertisers.googleblog.com/2014/02/take-advantage-of-engagement-metrics.html.
  17. I don't have access to the company's Google Analytics to verify, and AdOps doesn't know I am working on banners that include Youtube video for DCM which would not know if a play button is clicked, unlike the DCRM video solutions. Found this when searching http://www.htmlgoodies.com/beyond/video/trigger-specific-actions-on-youtube-video-player-events.html function onPlayerStateChange(event) { switch(event.data) { case YT.PlayerState.PLAYING: analytics.track('Played Video', { video: player.getVideoData().title, id: player.getVideoData().video_id, duration: player.getDuration() }) break; case YT.PlayerState.PAUSED: analytics.track('Paused Video', { video: player.getVideoData().title, id: player.getVideoData().video_id, pausedAt: player.getCurrentTime() }) break; case YT.PlayerState.ENDED: analytics.track('Finished Video', { video: player.getVideoData().title, id: player.getVideoData().video_id, duration: player.getDuration() }) break; default: return; } }
  18. I have some examples that use the built in tween.js. If you PM me your email addy, I will send you an FLA you can pick apart. Or you can choose the Tween using code in the code snippets and start playing with modifying that example.
  19. This Lynda.com tute does that and has exercise files. https://www.lynda.com/Animate-tutorials/Learn-Adobe-Animate-CC-Data-Driven-Animation/494387-2.html
  20. I would recommend tackling Animate first. Then tackling using scripting to move things around. For instance you will probably create a lot of the things you will animate in Animate, with the exception being bitmaps you import or vector graphics you paste from Illustrator. An intro to Animate Lynda.com tute will probably suffice. Plus you get exercise files. Picking apart FLAs is a good way to learn. You will be creating a Canvas doc. rather than an actionscript one but the GUI is the same. https://www.lynda.com/Animate-tutorials/Learn-Adobe-Animate-CC-Animation/475937-2.html
  21. Unfortunately sprite sheets are the default publish option. when I accidentally generate them, I have never been impressed with the resulting file size, even though it does reduce server requests. But because I design in Animate, including creating storyboards from my Animate file, it is rare for me to have more than two bitmaps (sometimes none), and i just Tiny PNG them. So my server requests are like 5 including createjs. As to number of ads created in two days, I suspect I may have a record. Using Animate I knocked out 308 banners. That was four versions, x 8 sizes, x 11 different logos.
  22. I have a set of publish templates for every size. I gave up on Cory Hudson's ad helper stuff. My templates just add the click tag stuff for DCM, and resize to 1X since bitmaps created at 2X are how I deal with high DPI displays*
  23. Could be an In design thing as all these lockups originated with In Design, and none were created by me. Edited to add, and print does not have Creative Cloud. I did a search for this.text and multiple campaigns had lockups that generated this.text in the JS file. If these many had reverted to Times, someone would have noticed, other than that one 320x50 I got a complaint about. Since there is no actual text associated with this.text, I am thinking it is still being converted to shapes. I am just going to try to always replace pasted text fields with my own, to be safe. And then there is the Enterprise security proxy weirdness that prevents Type kit from connecting...
  24. Yeah I realized that after I commented. Have you done any dynamic ads that use geo location? Pre HTML5, Doubleclick was doing the dynamic geo location versioning as a value added perk. That was discontinued when the HTML5 switch happened. I have a copy of what was called the Golden Feed spreadsheet. It served different logos and clicked through to different URLs based on a user's location.
  25. It was something I had almost forgotten about, and when I checked my js file it was full of references to Helvetica. Hard to say. The text fields producing this.text in the js file are not dynamic. Despite there also being Rockwell in one of the vector graphics I pasted, there are no instances of Rockwell. Maybe it has something to do with true type vs open type, or the Universal Type Client we use. If you don't go looking for it in your js files, you won't notice.
×