Sizmek Sizmek Formats Custom Header Build Guide Copyright © 2014 Sizmek. All rights reserved. 1 Sizmek Table Of Contents Overview ...................................................................................................................................................... 3 Supported Platforms ................................................................................................................................ 7 Specifications ............................................................................................................................................ 8 Known Issues............................................................................................................................................. 8 Ad Interaction Tracking ........................................................................................................................... 8 Ad Clickthrough......................................................................................................................................... 9 Template Included Files .......................................................................................................................... 9 Setting up in Workshop........................................................................................................................... 9 Customizing the Format ........................................................................................................................ 10 Leave behind (leaveBehind.fla) ......................................................................................................... 10 Panel (panel.fla)................................................................................................................................... 11 Fallback images................................................................................................................................... 17 Setting up in Platform ............................................................................................................................ 19 Custom Variables .................................................................................................................................... 19 Configuring in Workshop ...................................................................................................................... 19 Configuring in Platform ......................................................................................................................... 19 Custom Variables Definitions .............................................................................................................. 19 Change Log............................................................................................................................................... 20 Copyright © 2014 Sizmek. All rights reserved. 2 Sizmek Overview The Custom Header is a responsive, large banner format that can display different banner content in five different banner dimensions. The format has been developed and tailored to the New MSN website. 1272x328 panel (flash) For each dimension the Custom Header is able to display a different experience for the user if desired. The template is also able to scale on creative design to the other two sizes for maximum flexibility during production. 1119x328 panel (flash) Copyright © 2014 Sizmek. All rights reserved. 3 Sizmek 970x250 panel (flash) 628x162 panel (flash) Copyright © 2014 Sizmek. All rights reserved. 4 Sizmek The Custom Header includes a Show Ad/Hide Ad functionality that is identical to the IAB Billboard. The state of view of the Custom Header is saved via a cookie on the user‟s machine. The state of the Custom Header is maintained when the browser is resized. Leave behind (flash) The format is built as a 2x2 in-banner unit and requires three different default images that are uploaded as additional assets in the creative. 1272x92 and 1119x81 (image) 970x70 and 824x61 (image) Copyright © 2014 Sizmek. All rights reserved. 5 Sizmek 628x45 (image) The format resize the content according to browser width on non-MSN pages and columns value on MSN page. Default panel dimension on non-MSN page Brow ser Width Content dimension Detail <824 628x162px When brows er width less than 824px. It shows 628x162 dimension content. 824-969px 824x212px When brows er width greater than equal to 824px and less than 970. It shows 824x212 dimension cont ent. 970-1118px 970x250px When brows er width greater than equal to 970px and less than 1119. It shows 970x250 dimension content. 1119-1271 1119x289 When brows er width greater than equal to 970px and less than 1119. It shows 970x250 dimension content. >=1272px 1272x328 When brows er width greater than equal to 1272px. It shows 1272x 328 dimension content. Copyright © 2014 Sizmek. All rights reserved. 6 Sizmek Default panel dimension on MSN page Column value Content dimension Detail 2 columns 628x162px When page loads/resizes in 2 columns view. It shows 628x162 dimension content. 3 columns 970x250px When page loads/resizes in 3 columns view. It shows 970x250 dimension content. 4 columns 1272x328 When page loads/resizes in 4 columns view. It shows 1272x 328 dimension content. Default panel dimension on MSN page in IE browser Column value Content dimension Detail 2 columns 628x162px When page loads/resizes in 2 columns view. It shows 628x162 dimension content. Intermediate view(2.5) 824x212 When page loads/resizes in Intermediate view (2.5 columns view). It shows 824x212 dimension cont ent. 3 columns 970x250px When page loads/resizes in 3 columns view. It shows 970x250 dimension content. Intermediate view(3.5) 1119x212 When page loads/resizes in Intermediate view (2.5 columns view). It shows 824x212 dimension cont ent. 4 columns 1272x328 When page loads/resizes in 4 columns view. It shows 1272x 328 dimension content. Note:- Content dimension can be customizable using custom variable setting. Supported Platforms Platform Supported Browser Version Windows XP/7/8/Surface Internet Explorer 8+, Firefox, Chrome, Safari Copyright © 2014 Sizmek. All rights reserved. 7 Sizmek Mac OSX 10.8 & 10.9 Firefox, Chrome, Safari Specifications Format Version 1.1 Supports ActionScript 3.0 Supports Flash Player 10 and above Please preview on the tag level for most accurate results Known Issues For best results please preview this format on the tag level. Local/workshop preview doesn‟t show correct preview. On Non-MSN pages, hide and show the ad multiple times. Sometime ”showAd” and main panel are invisible. It is delivery bug. We can‟t repro 100%. Old flash fla files are not compatible with 002 version of Javascript, Please make sure use the latest version of flash files. When user upload the ad using workshop, on platform, in Custom script section, sometime there is no JavaScript attached or wrong JavaScript attached. Please make sure, following JavaScript should be there. http://ds.serving-sys.com/BurstingRes/CustomScripts/PL_CustomHeader_CFV002.js; http://ds.servingsys.com/BurstingRes/CustomScripts/PL_CustomHeader_Plugin_MSN_CFV002.js Ad Interaction Tracking The Custom Header template provides the following custom interaction tracking by default. The name values of the custom interactions may be modified if desired by the developer. Show Ad button click (Automatic Event) Hide Ad button click (Automatic Event) Ad Viewed in 2-column view (Automatic Event – fired when ad is loaded or page view is changed) Ad Viewed in 3-column scale down view (Automatic Event – fired when ad is loaded or page view is changed) Ad Viewed in 3-column view (Automatic Event – fired when ad is loaded or page view is changed) Ad Viewed in 4-column scale down view (Automatic Event – fired when ad is loaded or page view is changed) Ad Viewed in 4-column view (Automatic Event – fired when ad is loaded or page view is changed) Copyright © 2014 Sizmek. All rights reserved. 8 Sizmek Ad Clickthrough In the clickthrough over the platform, Please make sure „close Ad parts‟ should be unchecked. Template Included Files Filename Description 1x1.fla 1x1 Flash banner, the place holder panel.fla 1272x328 Flash panel leaveBehind.fla 88x31 Flash leave behind CustomHeader.as AS3 class for applying custom header logic 1x1.jpg Backup image served when flash and Javascript is disabled 628x45.jpg Backup image served when flash is disabled (In 2 columns view) 970x70.jpg Backup image served when flash is disabled (In 3 columns view) 1272x92.jpg Backup image served when flash is disabled (In 4 colum ns view) Setting up in Workshop In your file browser, browse to and run the Custom Header MXP/ZXP (Custom_Header.mxp or Custom_Header.zxp), and then follow the prompts in the Adobe Extension Manager to install the extension. You can skip this step if you have already installed the MXP. In the Sizmek Workshop™ for Flash, select New from template. Copyright © 2014 Sizmek. All rights reserved. 9 Sizmek For AS Version, select ActionScript 3. Expand the Sizmek Templates > Custom Header folder, and select 1x1_Nonideo Click Create. Customizing the Format Leave behind (leaveBehind.fla) Do not modify leave behind fla. Copyright © 2014 Sizmek. All rights reserved. 10 Sizmek Panel (panel.fla) 1. Open panel.fla 2. On the content layer there is movieclip called mc_content, double click to open this movieclip 3. In side mc_content, there are 5 layers. action:- has action script code. Hide Ad button: - Hide button graphic (Do not modify the graphic). 628x162:- content for 628x162 size panel. Content graphic can be add/update. 970x250:- content for 970x250 size panel. Content graphic can be add/update. 1272x328:- content for 1272x328 size panel. Content graphic can be add/update. 4. All content moveclips should be align to top-left of the stage. 5. On ”action” layer contents following code var ch:CustomHeader = CustomHeader.getInstance(); var str:String = EBBase.GetVar("mdPanelWidths"); if(str) { var panelWidth:Array = str.split(","); var settings:Object = {}; settings["w"+ panelWidth[0]] = {content:mc628x162, props:{scaleX:1, scaleY:1, playOnce:false}}; settings["w"+ panelWidth[1]] = {content:mc970x250, props:{scaleX:0.85, scaleY:0.85, playOnce:false}}; settings["w"+ panelWidth[2]] = {content:mc970x250, props:{scaleX:1, scaleY:1, playOnce:false}}; settings["w"+ panelWidth[3]] = {content:mc1272x328, props:{scaleX:0.88, scaleY:0.88, playOnce:false}}; settings["w"+ panelWidth[4]] = {content:mc1272x328, props:{scaleX:1, scaleY:1, playOnce:false}}; /* //One movieclip can be used for all columns. Here is the sample code settings["w"+ panelWidth[0]] = {content:mc1272x328, props:{scaleX:0.4937, scaleY:0.4935, playOnce:false}}; settings["w"+ panelWidth[1]] = {content:mc1272x328, props:{scaleX:0.648, scaleY:0.648, playOnce:false}}; settings["w"+ panelWidth[2]] = {content:mc1272x328, props:{scaleX:0.7625, scaleY:0.7624, playOnce:false}}; settings["w"+ panelWidth[3]] = {content:mc1272x328, props:{scaleX:0.88, scaleY:0.88, playOnce:false}}; settings["w"+ panelWidth[4]] = {content:mc1272x328, props:{scaleX:1, scaleY:1, playOnce:false}}; */ ch.addJSEventListener(CustomHeader.ST AGE_RESIZE, resizeHandler); ch.init(settings, this); } Copyright © 2014 Sizmek. All rights reserved. 11 Sizmek function resizeHandler(e:Object) { switch(e.stageWidth) { case 628: EBBase.AutomaticEventCounter("Two_Columns_Viewed"); break; case 824: EBBase.AutomaticEventCounter("Three_Columns(Scale_Down)_Viewed"); break; case 970: EBBase.AutomaticEventCounter("Three_Columns_Viewed"); break; case 1119: EBBase.AutomaticEventCounter("Four_Colum ns(Scale_Dow n)_Viewed"); break; case 1272: EBBase.AutomaticEventCounter("Four_Colum ns_Viewed"); break; } } 6. Tracking also added on „action‟ layer. Please see yellow highlighted code. 7. 8. var ch:CustomHeader = CustomHeader.getInstance(); 9. 10. var str:String = EBBase.GetVar("mdPanelWidths"); 11. if(str) 12. { 13. var panelWidth:Array = str.split(","); 14. var settings:Object = {}; 15. settings["w"+ panelWidth[0]] = {content:mc628x162, props:{scaleX:1, scaleY:1, playOnce:false}}; 16. settings["w"+ panelWidth[1]] = {content:mc970x250, props:{scaleX:0.85, scaleY:0.85, playOnce:false}}; 17. settings["w"+ panelWidth[2]] = {content:mc970x250, props:{scaleX:1, scaleY:1, playOnce:false}}; 18. settings["w"+ panelWidth[3]] = {content:mc1272x328, props:{scaleX:0.88, scaleY:0.88, playOnce:false}}; 19. settings["w"+ panelWidth[4]] = {content:mc1272x328, props:{scaleX:1, scaleY:1, playOnce:false}}; 20. /* 21. //One movieclip can be used for all columns. Here is the sample code 22. settings["w"+ panelWidth[0]] = {content:mc1272x328, props:{scaleX:0.4937, scaleY:0.4935, playOnce:false}}; Copyright © 2014 Sizmek. All rights reserved. 12 Sizmek 23. settings["w"+ panelWidth[1]] = {content:mc1272x328, props:{scaleX:0.648, scaleY:0.648, playOnce:false}}; 24. settings["w"+ panelWidth[2]] = {content:mc1272x328, props:{scaleX:0.7625, scaleY:0.7624, playOnce:false}}; 25. settings["w"+ panelWidth[3]] = {content:mc1272x328, props:{scaleX:0.88, scaleY:0.88, playOnce:false}}; 26. settings["w"+ panelWidth[4]] = {content:mc1272x328, props:{scaleX:1, scaleY:1, playOnce:false}}; 27. */ 28. ch.addJSEventListener(CustomHeader.ST AGE_RESIZE, resizeHandler); 29. ch.init(settings, this); 30. } 31. 32. function resizeHandler(e:Object) 33. { 34. switch(e.stageWidth) 35. { 36. case 628: 37. EBBase.AutomaticEventCounter("T wo_Columns_Viewed"); 38. break; 39. 40. case 824: 41. EBBase.AutomaticEventCounter("Three_Columns(Scale_Down)_Viewed"); 42. break; 43. 44. case 970: 45. EBBase.AutomaticEventCounter("Three_Columns_Viewed"); 46. break; 47. 48. case 1119: 49. EBBase.AutomaticEventCounter("Four_Colum ns(Scale_Dow n)_Viewed"); 50. break; 51. 52. case 1272: 53. EBBase.AutomaticEventCounter("Four_Colum ns_Viewed"); 54. break; 55. } 56. } 57. 58. User can modify scale of the content movie clips (mc628x162, mc970x250, mc1272x328). Also one content move clip can be used for all three sizes. Check the highlighted code. Here is the example. 59. 60. var ch:CustomHeader = CustomHeader.getInstance(); 61. 62. var str:String = EBBase.GetVar("mdPanelWidths"); 63. if(str) 64. { Copyright © 2014 Sizmek. All rights reserved. 13 Sizmek 65. 66. 67. var panelWidth:Array = str.split(","); var settings:Object = {}; settings["w"+ panelWidth[0]] = {content:mc628x162, props:{scaleX:1, scaleY:1, playOnce:false}}; 68. settings["w"+ panelWidth[1]] = {content:mc970x250, props:{scaleX:0.85, scaleY:0.85, playOnce:false}}; 69. settings["w"+ panelWidth[2]] = {content:mc970x250, props:{scaleX:1, scaleY:1, playOnce:false}}; 70. settings["w"+ panelWidth[3]] = {content:mc1272x328, props:{scaleX:0.88, scaleY:0.88, playOnce:false}}; 71. settings["w"+ panelWidth[4]] = {content:mc1272x328, props:{scaleX:1, scaleY:1, playOnce:false}}; 72. /* 73. //One movieclip can be used for all columns. Here is the sample code 74. settings["w"+ panelWidth[0]] = {content:mc1272x328, props:{scaleX:0.4937, scaleY:0.4935, playOnce:false}}; 75. settings["w"+ panelWidth[1]] = {content:mc1272x328, props:{scaleX:0.648, scaleY:0.648, playOnce:false}}; 76. settings["w"+ panelWidth[2]] = {content:mc1272x328, props:{scaleX:0.7625, scaleY:0.7624, playOnce:false}}; 77. settings["w"+ panelWidth[3]] = {content:mc1272x328, props:{scaleX:0.88, scaleY:0.88, playOnce:false}}; 78. settings["w"+ panelWidth[4]] = {content:mc1272x328, props:{scaleX:1, scaleY:1, playOnce:false}}; 79. */ 80. ch.addJSEventListener(CustomHeader.ST AGE_RESIZE, resizeHandler); 81. ch.init(settings, this); 82. } 83. 84. function resizeHandler(e:Object) 85. { 86. switch(e.stageWidth) 87. { 88. case 628: 89. EBBase.AutomaticEventCounter("Two_Columns_Viewed"); 90. break; 91. 92. case 824: 93. EBBase.AutomaticEventCounter("Three_Columns(Scale_Down)_Viewe d"); 94. break; 95. 96. case 970: 97. EBBase.AutomaticEventCounter("Three_Columns_Viewed"); 98. break; 99. 100. case 1119: 101. EBBase.AutomaticEventCounter("Four_Colum ns(Scale_Dow n)_Viewed" ); 102. break; Copyright © 2014 Sizmek. All rights reserved. 14 Sizmek 103. 104. 105. 106. 107. 108. case 1272: EBBase.AutomaticEventCounter("Four_Colum ns_Viewed"); break; } } 109. 110. 628x162, 970x250 and 1272x328 layers contain following code. var ch:CustomHeader = CustomHeader.getInstance(); ch.addJSEventListener(CustomHeader.ST AGE_RESIZE, resizeHandler); function resizeHandler(e:Object) { var str:String = "w" + e.stageWidth; if(ch.settings[str].content == this) { if(this.visible == false) { this.visible = true; } if(ch.settings[str].props.playOnce) { //video or animation play code should be here //video or animation play only once when it loads. ch.settings[str].props.playOnce = false; } } else { this.visible = false; } } This code handles visibility of the all 3 content when browser resize. User can also handle video or animation start/stop with above code for each content. It starts video on every time when panel resize and show. Video shouldn’t auto play with video component settings. It should play with the code. Here is the example. var ch:CustomHeader = CustomHeader.getInstance(); ch.addJSEventListener(CustomHeader.ST AGE_RESIZE, resizeHandler); function resizeHandler(e:Object) { var str:String = "w" + e.stageWidth; if(ch.settings[str].content == this) { if(this.visible == false) Copyright © 2014 Sizmek. All rights reserved. 15 Sizmek { Videoplayer.loadAndPay(4); this.visible = true; } if(ch.settings[str].content.playOnce) { //video or animation play code should be here //video or animation play only once when it loads. ch.settings[str].content.playOnce = false; } } else { Videoplayer.stop(); this.visible = false; } } If user wants to play video or animation only on 1st load. Here is the example. Inside mc_content, on „action‟ layer. Change the highlighted code var ch:CustomHeader = CustomHeader.getInstance(); var str:String = EBBase.GetVar("mdPanelWidths"); if(str) { var panelWidth:Array = str.split(","); var settings:Object = {}; settings["w"+ panelWidth[0]] = {content:mc628x162, props:{scaleX:1, scaleY:1, playOnce:false}}; settings["w"+ panelWidth[1]] = {content:mc970x250, props:{scaleX:0.85, scaleY:0.85, playOnce:false}}; settings["w"+ panelWidth[2]] = {content:mc970x250, props:{scaleX:1, scaleY:1, playOnce:false}}; settings["w"+ panelWidth[3]] = {content:mc1272x328, props:{scaleX:0.88, scaleY:0.88, playOnce:false}}; settings["w"+ panelWidth[4]] = {content:mc1272x328, props:{scaleX:1, scaleY:1, playOnce:false}}; /* //One movieclip can be used for all columns. Here is the sample code settings["w"+ panelWidth[0]] = {content:mc1272x328, props:{scaleX:0.4937, scaleY:0.4935, playOnce:false}}; settings["w"+ panelWidth[1]] = {content:mc1272x328, props:{scaleX:0.648, scaleY:0.648, playOnce:false}}; settings["w"+ panelWidth[2]] = {content:mc1272x328, props:{scaleX:0.7625, scaleY:0.7624, playOnce:false}}; settings["w"+ panelWidth[3]] = {content:mc1272x328, props:{scaleX:0.88, Copyright © 2014 Sizmek. All rights reserved. 16 Sizmek scaleY:0.88, playOnce:false}}; settings["w"+ panelWidth[4]] = {content:mc1272x328, props:{scaleX:1, scaleY:1, playOnce:false}}; */ ch.addJSEventListener(CustomHeader.ST AGE_RESIZE, resizeHandler); ch.init(settings, this); } And inside the content (mc_628x162, mc_970x250 and mc_1272x328) movie clip. var ch:CustomHeader = CustomHeader.getInstance(); ch.addJSEventListener(CustomHeader.ST AGE_RESIZE, resizeHandler); function resizeHandler(e:Object) { var str:String = "w" + e.stageWidth; if(ch.settings[str].content == this) { if(this.visible == false) { this.visible = true; } if(ch.settings[str].content.playOnce) { //video or animation play code should be here //video or animation play only once when it loads. Videoplayer.loadAndPay(4); ch.settings[str].content.playOnce = false; } } else { Videoplayer.stop(); this.visible = false; } } 111. Panel fla‟s flash player must me 10 and above. 112. Don‟t add any kind of stage mode related code. e.g. stage.scaleMode = StageScaleMode. NO_SCALE. Fallback images Update in the MDX workshop 1. 2. 3. 4. Open MDX workshop. Create custom header ad. Go to Setting>>Ad setup Click on Additional Assets Copyright © 2014 Sizmek. All rights reserved. 17 Sizmek 5. Update the images according to dimension. If user update the additional id of image, user have to have update the mdFallbackImagesID in the custom var section. Update in the MDX platform 1. Create the ad 2. Go to Additional assets section 3. Update the images according to dimension. If user update the additional id of image, user have to have update the mdFallbackImagesID in the custom var section. Copyright © 2014 Sizmek. All rights reserved. 18 Sizmek Setting up in Platform The custom script should already be attached to the ad when it is uploaded from the MXP/ZXP. You can confirm this by doing the following. 1. In Sizmek MDX/ZXP, go to the Setup tab. 2. Select the Advanced Features section, and expand the Custom JS area. 3. Copy and paste this code to the Trigger JavaScript on Scripts Pre-load text field: New Client Delivery : http://ds.serving-sys.com/BurstingRes/CustomScripts/PL_CustomHeader_CFV002.js; http://ds.servingsys.com/BurstingRes/CustomScripts/PL_CustomHeader_Plugin_MSN_CFV002.js 3a. Make sure the “Use new client mechanism” checkbox is selected. 4. Click Save. Custom Variables Custom Variables for the Custom header can be configured using either the Sizmek Workshop or Sizmek MDX once your ad is created. All custom variables default values setup as MSN specific. It can be change as needed. Configuring in Workshop In the Sizmek Workshop, go to the Settings tab. Next select the Variables menu. Click the Add Variable button to enter the appropriate values or double click an existing variable to edit it. When are done click the Save button. When you upload the ad these values will maintain their state in the platform. Configuring in Platform In Sizmek MDX, go to the Setup tab. Select the Advanced Features section, and expand the Variables area. Click the New button to enter the appropriate values or double click an existing variable to edit it. When done, click the Save button. Custom Variables Definitions Copyright © 2014 Sizmek. All rights reserved. 19 Sizmek Name:Type Default Value mdAutoRepositionInterval 200 :Number Description Accepted Values The amount of milliseconds to realign the default panel. 1+ If 0 then the interval will not start. mdEyeDi vZIndex:Number 3 The default z-index of the eye div. 0 to 10000 To leave the z-index unchanged us the string “undefined” mdFallbackImagesID:String 1,2,2,3,3 The default additional assets id for fallback images. String, comma separated assets ids. mdCookieExpiryTime 24 Default cookie expiry time Any number mdShareCookie false Share cookie between multiple ads and pages. True/false mdScaleDownBackUpImage s (for MS N only) true Scale Down the fall images in intermediate views. True/false Change Log September 15, 2014 (v 0.1) o First draft September 29, 2014 o Changed the tag to 2x2 dimension. o Updated the build guide. October 10, 2014 o Bug fixes in custom script and flash file. o Fixed MSN article page bug o Fixed Firefox loading issue April 24, 2015 o Updated the flash and custom script for intermediate column solution o Added custom var for shared cookies o Fixed Firefox loading issue May 13, 2015 o Updated the flash and custom script for intermediate column solution o Updated to flash files and custom script to version 2.0.0. o Current flash files are not backward compatible. o Updated the custom script template. o Changed the tag to 1x1 dimension. Copyright © 2014 Sizmek. All rights reserved. 20 Sizmek o Added “mdShareCookie”, “mdScaleDownBackUpImages”, “mdCookieExpiryTime” custom variables o Banner contents in five different banner dimensions, previous was three. Copyright © 2014 Sizmek. All rights reserved. 21 Notice The information contained in this document is proprietary and confidential to Sizmek and/or any of its affiliated companies. Disclosure, copying, reproduction, storing or any use of this document or any part thereof without the express prior, written consent of Sizmek or its authorized representatives is strictly prohibited. The information furnished in this document is believed to be accurate and reliable. However no responsibility is assumed by Sizmek for the use of this information. Sizmek reserves the right to make changes to the information included in this document at any time and without notice. Copyright © 2014 Sizmek. All rights reserved. Flash is either a registered trademark or trademark of Adobe Systems Incorporated in the United States and/or other countries. Trademark Note: Sizmek, the Sizmek logo, Sizmek Rich Media, Sizmek Mobile, Sizmek Video, Sizmek Channel Connect, Sizmek Workshop, etc. are trademarks and/or registered trademarks of Sizmek. All other trademarks are the property of their respective owners.
© Copyright 2025