요약
공식 Discourse 광고 플러그인의 일부 코드를 기반으로 Revive 광고 서버 플러그인의 초안을 작성했습니다. 기본적으로 광고 네트워크를 제거하고 하우스 광고 코드를 리팩터링하여(README에 모두 문서화됨) Revive 광고 서버에서 태그를 서빙하도록 했습니다. 이 과정에서 데스크톱 또는 모바일 광고로 필터링하도록 처리했습니다(Revive는 아직 반응형 태그를 지원하지 않음). 현재 리디자인은 다음과 같습니다:
https://github.com/unixneo/neo-revive-discourse
상태:
<script>태그(동기 및 비동기) 렌더링 문제 발생.<iframe>태그는 정상 작동
할 일:
<script>태그 렌더링 문제 수정 (<iframe>태그는 정상)
예시:
이 iframe 태그는 정상 작동합니다:
<!-- Revive Adserver iFrame Tag - Generated with Revive Adserver v4.2.0 -->
<iframe id='a41d6e46' name='a41d6e46' src='http://srv.adserver.com/www/delivery/afr.php?zoneid=63&cb=INSERT_RANDOM_NUMBER_HERE' frameborder='0' scrolling='no' width='728' height='90'><a href='http://srv.adserver.com/www/delivery/ck.php?n=aa785d4b&cb=INSERT_RANDOM_NUMBER_HERE' target='_blank'><img src='http://srv.adserver.com/www/delivery/avw.php?zoneid=63&cb=INSERT_RANDOM_NUMBER_HERE&n=aa785d4b' border='0' alt='' /></a></iframe>
이 비동기 JS 태그는 렌더링되지 않습니다(우리가 평소 사용하는 태그 형식임):
<!-- Revive Adserver Asynchronous JS Tag - Generated with Revive Adserver v4.2.0 -->
<ins data-revive-zoneid="63" data-revive-id="2d220f1e3f63403189face1b493bcc4b"></ins>
<script async src="//srv.adserver.com/www/delivery/asyncjs.php"></script>
마찬가지로, 이 JS 태그도 렌더링되지 않습니다:
<!-- Revive Adserver Javascript Tag - Generated with Revive Adserver v4.2.0 -->
<script type='text/javascript'><!--//<![CDATA[
var m3_u = (location.protocol=='https:'?'https://srv.adserver.com/www/delivery/ajs.php':'http://srv.adserver.com/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=63");
document.write ('&cb=' + m3_r);
if (document.MAX_used != ',') document.write ("&exclude=" + document.MAX_used);
document.write (document.charset ? '&charset='+document.charset : (document.characterSet ? '&charset='+document.characterSet : ''));
document.write ("&loc=" + escape(window.location));
if (document.referrer) document.write ("&referer=" + escape(document.referrer));
if (document.context) document.write ("&context=" + escape(document.context));
if (document.mmm_fo) document.write ("&mmm_fo=1");
document.write ("'><\/scr"+"ipt>");
//]]>--></script><noscript><a href='http://srv.adserver.com/www/delivery/ck.php?n=aef496cd&cb=INSERT_RANDOM_NUMBER_HERE' target='_blank'><img src='http://srv.adserver.com/www/delivery/avw.php?zoneid=63&cb=INSERT_RANDOM_NUMBER_HERE&n=aef496cd' border='0' alt='' /></a></noscript>
수정 시도:
htmlSafe()와 삼중 핸들바를 시도해 보았지만 성공하지 못했습니다. 왜 iframe 태그만 렌더링되고 JS 태그는 렌더링되지 않는지 알 수 없습니다. Ember.js와 Rails에 익숙하지 않은 초보자로서, 이는 Ember.js 문제인 것 같지만 그 이유를 이해하지 못하겠습니다.
기한은 언제까지인가요?
급하지 않습니다. 당분간 사용하지 않을 계획이며, 이는 "미래"를 위해 구축 중인 프로젝트입니다.
이 작업을 위해 제시할 수 있는 예산(USD)은 얼마인가요?
이 Ember.js 렌더링 벽을 넘을 수 있도록 도와줄 합리적인 모든 제안에 감사하며 환영합니다.
참고 사항:
관심 있는 분들을 위해 말씀드리자면, 저는 DFP를 사용하지 않습니다. 단순히 좋아하지 않기 때문입니다. Revive는 우리에게 잘 작동합니다(자체 호스팅) 하지만, 이 솔루션이 작동하게 되면 DFP 및 기타 광고 서버 태그와도 잘 작동할 것으로 생각됩니다. 따라서 소스 코드는 유사한 요구 사항을 가진 모든 사람이 자유롭게 사용할 수 있도록 공개될 것입니다.
테스트 사이트 (테스트용 임시):
Test site removed.
