Jump to content

remy_php

Approved members
  • Content Count

    13
  • Joined

  • Last visited

  1. remy_php

    How To Serve Responsive Ads?

    Salut klaush Thank you for your contribution. Your solution can probably be suitable for most use cases. In my case I should never change the size of the banners. And the banners to display are not the same on mobile and desktop. So I'm forced to make terrible scams. ( https://forum.revive-adserver.com/topic/5207-js-dynamic-display-of-a-zone-in-the-page/ )
  2. My customer wants to display ads on the videos on his site. To display his videos he will use a streaming platform (Libcast or Viméo) supporting VAST 2.0. But revive does not natively offer VAST 2.0. (From what he tells me) He spotted 2 plugins and asked me which one would be the most appropriate. But I don't know much about it. VAST Video Ads Plugin for Revive https://www.reviveadservermod.com/vast-video-ads-plugin-for-revive Video Ads plugin for Revive Adserver https://www.adserverplugins.com/advanced-video-ads-plugin-for-revive-adserver/ What do you think of that?
  3. remy_php

    Changing or rolling Ads on website

    Salut. You can also multiply the number of zones by the number of "profiles" (if this number is limited.) Assign your campaigns to profiled zones Then choose in JS which zones you want to display
  4. remy_php

    How To Serve Responsive Ads?

    Bonjour à tous. I think I've found a way to display a zone dynamically. All that remains is to choose which ads to display depending on whether you are on mobile or not. /** * https://stackoverflow.com/questions/3514784/what-is-the-best-way-to-detect-a-mobile-device-in-jquery * * @returns boolean */ MY_REVIVE.isMobile = function () { var isMobile = false; //initiate as false // device detection if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4))) { isMobile = true; } var oMediaQueryList = window.matchMedia("only screen and (max-width: 760px)"); if (oMediaQueryList && (typeof(oMediaQueryList) === 'object')) { isMobile = oMediaQueryList.matches; } return isMobile; };
  5. Bonjour, I propose the following solution . 1) Use the invocation code at site level https://documentation.revive-adserver.com/display/DOCS/Invocation+Code:+Website+Level <head> <!-- ... --> <script type='text/javascript' src='http://revive.lxc/revive/www/delivery/spcjs.php?id=1'></script> </head> 2) This gives the possibility to use the OA_show(zone_id) function to invoke the zones function OA_show(name) { if (typeof(OA_output[name]) == 'undefined') { return; } else { document.write(OA_output[name]); } } But we're not going to use it! What interests us here is the OA_output 3) We write a small function that will retrieve the html code in OA_output and insert it neatly into our page at the desired location. MY_REVIVE.show = function($parent, zone_id) { $parent.append(EDB_REVIVE.getHtml(zone_id)); }; MY_REVIVE.getHtml = function(zone_id) { var output = OA_output; if (typeof(output[zone_id]) === 'undefined') { console.error("Zone " + zone_id + " n'existe pas."); return ''; } else { return output[zone_id]; } }; Example of use: MY_REVIVE.show($('#add_slot'), 15); What do you think of that?
  6. Good morning, everyone. I need to dynamically display a zone in an existing page. Let me explain: 1 ) The user loads a page from the site. The zones present with the invocation code are loaded. 2 ) Now, following user actions or other events, I need to display a new advertising zone. But inserting the invocation code in the page is not enough... $('.advertising_slot_result').append('<ins data-revive-zoneid="17" data-revive-id="******************************"></ins>'); How to do this? Obviously, I want the display and click count on this new area to be operational...
  7. remy_php

    How To Serve Responsive Ads?

    Otherwise I can take inspiration from the noscript part of the javascript invocation code. What does the JS part bring more?
  8. remy_php

    How To Serve Responsive Ads?

    Hello, everyone. I also try to play with the responsive My strategy is as follows: For each advertising slot on the site I define 2 zones One for the mobile, one for the rest. <div class="advertising_slot advertising_top"> <div class="advertising" data-zone_id="1" data-mobile="false" data-revive-id="*"></div> <div class="advertising" data-zone_id="12" data-mobile="true" data-revive-id="*"></div> </div> Once the page is loaded, an js algo defines whether to display mobile ads or others. This algo launches the showAdvertisings() function $(document).ready(function() { iniAdvertisings(); }); function iniAdvertisings() { showAdvertisings(isMobile()); } function isMobile() { return true; // TODO } /** * Sélectione quel publicités doivent être affichée. * * @param mobile */ function showAdvertisings(mobile) { $('.advertising').each(function() { var $div = $(this); if ($div.data('mobile') === mobile) { showAdvertising($div); } }); } /** * Base on javascript invocation code * * @param $div */ function showAdvertising($div) { /* <!-- Revive Adserver Balise javascript - Generated with Revive Adserver v4.1.4 --> var m3_u = (location.protocol=='https:'?'https://revive.lxc/revive/www/delivery/ajs.php':'http://revive.lxc/revive/www/delivery/ajs.php'); var m3_r = Math.floor(Math.random()*99999999999); if (!document.MAX_used) document.MAX_used = ','; document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u); document.write ("?zoneid=12"); document.write ('&amp;cb=' + m3_r); if (document.MAX_used != ',') document.write ("&amp;exclude=" + document.MAX_used); document.write (document.charset ? '&amp;charset='+document.charset : (document.characterSet ? '&amp;charset='+document.characterSet : '')); document.write ("&amp;loc=" + escape(window.location)); if (document.referrer) document.write ("&amp;referer=" + escape(document.referrer)); if (document.context) document.write ("&context=" + escape(document.context)); if (document.mmm_fo) document.write ("&amp;mmm_fo=1"); document.write ("'><\/scr"+"ipt>"); */ var m3_r = Math.floor(Math.random()*99999999999); if (!document.MAX_used) document.MAX_used = ','; var charset = document.charset ? document.charset : (document.characterSet ?document.characterSet : ''); var url = (location.protocol==='https:'?'https://revive.lxc/revive/www/delivery/ajs.php':'http://revive.lxc/revive/www/delivery/ajs.php'); var params = { 'zoneid': $div.data('zone_id'), 'loc': escape(window.location), 'cb': m3_r }; if (document.MAX_used !== ',') { params.exclude = document.MAX_used; } if (charset) { params.charset = charset; } if (document.referrer) { params.referer = escape(document.referrer); } if (document.context) { params.context = escape(document.context); } if (document.mmm_fo) { params.mmm_fo = 1; } var query = jQuery.param( params ); var src = url+'?'+query; console.log('params: ',params); console.log('url: ', url); console.log('query: ', query); console.log('src: ', src); loadScript(src, $div); } /* Does not work */ function loadScript(src, $parent) { var sNew = document.createElement("script"); sNew.async = true; sNew.src = src; //var s0 = document.getElementsByTagName('script')[0]; //s0.parentNode.insertBefore(sNew, s0); $parent.append($(sNew)); // var $script = $('<script type="text/javascript">'); // $script.attr('src', src); // // $parent.append($script); } But before asking the question of the isMobile() algo. It is my showAdvertising() function that causes me problems. I was inspired by the javascript invocation code but there is something wrong. My question is: How to initialize an advertising banner dynamically? ============================ Here is another strategy based on Asynchronous JS Tag invocation code. <div class="advertising_slot advertising_top"> <div class="advertising" data-zone_id="1" data-mobile="false" style="display:none"> <ins data-mobile="false" data-revive-zoneid="1" data-revive-id="*" ></ins> </div> <div class="advertising" data-zone_id="12" data-mobile="true" style="display:none"> <ins data-mobile="true" data-revive-zoneid="12" data-revive-id="*" ></ins> </div> </div> The idea here is to let the pub be initialized again. But they are hidden. The mobile detection algo/descktop will only have to make them visible. (Which is very easy 😉 ) But I wonder if that's not a big problem. Because the ads are displayed twice! and therefore are counted twice? How is Revive handling this?
  9. remy_php

    How to Embed Inline Video Ad

    http://revive.lxc/revive/www/delivery/fc.php?script=bannerTypeHtml:vastInlineBannerTypeHtml:vastInlineHtml&amp;zones=pre-roll-0%3D11&amp;nz=1&amp;format=vast&amp;charset=UTF-8 When I call the url live I have the XML right. But if it's the js of the site that calls it then I have: <?xml version="1.0" encoding="UTF-8"?> <VideoAdServingTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd"> <!-- You are requesting vast xml for zone which does not apear to be a video overlay banner nor a vast inline banner. --> </VideoAdServingTemplate> I'll see if it's a problem of Server Cross Domain Policy. But if I did, I'd have another mistake? I think it's more of a cookie or header problem...
  10. remy_php

    How to Embed Inline Video Ad

    I recreated my zone and my banner. I get a much nicer XML. <?xml version="1.0" encoding="UTF-8"?> <VideoAdServingTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd"> <Ad id="pre-roll" > <InLine> <AdSystem><![CDATA[Revive Adserver]]></AdSystem> <AdTitle><![CDATA[[Video] Earth Eclipse Motion Graphic]]></AdTitle> <Description><![CDATA[Inline Video Ad]]></Description> <Impression> <URL id="primaryAdServer"><![CDATA[http://revive.lxc/revive/www/delivery/lg.php?bannerid=14&campaignid=1&zoneid=11&OACCAP=1000&cb=3d7977ffad]]></URL> </Impression> <Video> <Duration>00:00:13</Duration> <AdID><![CDATA[14]]></AdID> <VideoClicks> <ClickThrough> <URL id="destination"><![CDATA[http://revive.lxc/revive/www/delivery/ck.php?oaparams=2__bannerid=14__zoneid=11__cb=3d7977ffad__oadest=http%3A%2F%2Fsmile.fr]]></URL> </ClickThrough> </VideoClicks> <MediaFiles> <MediaFile delivery="progressive" bitrate="400" width="640" height="480" type="video/x-mp4"> <URL><![CDATA[https://www.videvo.net/videvo_files/converted/2012_10/videos/hd0308-H264%2075.mov10144.mp4]]></URL> </MediaFile> </MediaFiles> </Video> <TrackingEvents> <Tracking event="start"> <URL id="primaryAdServer"><![CDATA[http://revive.lxc/revive/www/delivery/fc.php?script=videoAds:vastEvent&bannerid=14&zoneid=11&event=start]]></URL> </Tracking> <Tracking event="midpoint"> <URL id="primaryAdServer"><![CDATA[http://revive.lxc/revive/www/delivery/fc.php?script=videoAds:vastEvent&bannerid=14&zoneid=11&event=midpoint]]></URL> </Tracking> <Tracking event="firstQuartile"> <URL id="primaryAdServer"><![CDATA[http://revive.lxc/revive/www/delivery/fc.php?script=videoAds:vastEvent&bannerid=14&zoneid=11&event=firstquartile]]></URL> </Tracking> <Tracking event="thirdQuartile"> <URL id="primaryAdServer"><![CDATA[http://revive.lxc/revive/www/delivery/fc.php?script=videoAds:vastEvent&bannerid=14&zoneid=11&event=thirdquartile]]></URL> </Tracking> <Tracking event="complete"> <URL id="primaryAdServer"><![CDATA[http://revive.lxc/revive/www/delivery/fc.php?script=videoAds:vastEvent&bannerid=14&zoneid=11&event=complete]]></URL> </Tracking> <Tracking event="mute"> <URL id="primaryAdServer"><![CDATA[http://revive.lxc/revive/www/delivery/fc.php?script=videoAds:vastEvent&bannerid=14&zoneid=11&event=mute]]></URL> </Tracking> <Tracking event="pause"> <URL id="primaryAdServer"><![CDATA[http://revive.lxc/revive/www/delivery/fc.php?script=videoAds:vastEvent&bannerid=14&zoneid=11&event=pause]]></URL> </Tracking> <Tracking event="replay"> <URL id="primaryAdServer"><![CDATA[http://revive.lxc/revive/www/delivery/fc.php?script=videoAds:vastEvent&bannerid=14&zoneid=11&event=replay]]></URL> </Tracking> <Tracking event="fullscreen"> <URL id="primaryAdServer"><![CDATA[http://revive.lxc/revive/www/delivery/fc.php?script=videoAds:vastEvent&bannerid=14&zoneid=11&event=fullscreen]]></URL> </Tracking> <Tracking event="stop"> <URL id="primaryAdServer"><![CDATA[http://revive.lxc/revive/www/delivery/fc.php?script=videoAds:vastEvent&bannerid=14&zoneid=11&event=stop]]></URL> </Tracking> <Tracking event="unmute"> <URL id="primaryAdServer"><![CDATA[http://revive.lxc/revive/www/delivery/fc.php?script=videoAds:vastEvent&bannerid=14&zoneid=11&event=unmute]]></URL> </Tracking> <Tracking event="resume"> <URL id="primaryAdServer"><![CDATA[http://revive.lxc/revive/www/delivery/fc.php?script=videoAds:vastEvent&bannerid=14&zoneid=11&event=resume]]></URL> </Tracking> </TrackingEvents> </InLine> </Ad> </VideoAdServingTemplate> I still have to find a player. I have identified two to try. But it doesn't look so young! http://www.html5vast.com/index.php http://blog.denivip.ru/index.php/2012/04/2515/?lang=en And can it work with youtube?
  11. remy_php

    How to Embed Inline Video Ad

    VAST = Video Ad Serving Template https://en.wikipedia.org/wiki/Video_Ad_Serving_Template
  12. remy_php

    How to Embed Inline Video Ad

    The problems of video players that seem to be recurrent are difficult to grasp. For my part, I have videos on my site displayed with the native video player of the browser. <video width="320" height="240" controls> <source src="http://my.projet.net/videos/movie.mp4" type="video/mp4"> Your browser does not support the video tag. </video> So I want to add ads before or after the video. My area is of the "Inline Video ad" type. ("Bande pub enchâssée" en français.) My area is linked to an "Inline Video Ad" banner So of course I consulted this documentation: https://documentation.revive-adserver.com/display/DOCS/Invocation+code:+Zone+level#InvocationCode:ZoneLevel-Video And I deduced this URL: revive.lxc/revive/www/delivery/fc.php?script=bannerTypeHtml:vastInlineBannerTypeHtml:vastInlineHtml&format=vast&nz=1&zones=pre-roll%3D5 (My ZONE-ID and 5) But the url returns: <?xml version="1.0" encoding="UTF-8"?> <VideoAdServingTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd"> <!-- You are requesting vast xml for zone which does not apear to be a video overlay banner nor a vast inline banner. --> </VideoAdServingTemplate> But I don't know what to do with it.
×