お世話になっています。
https://press.monaca.io/atsushi/228
(Monacaアプリに広告を組み込もう(Ad Generation編)の記事を参考にしています)
記事にあるように、サンプルプロジェクトに InAppBrowser のプラグインを追加しました。
その後、ad.jsを作成し jsフォルダ配置しました。
また、loader.jsのおわりの方で deviceready に対して makeADGTag(10722,'adg');を登録しました。
10722はデモ広告のIDのようです。広告が表示されない理由は何でしょうか?
よろしくお願いします。
html
1index.html 2 3<!DOCTYPE HTML> 4<html> 5<head> 6 <meta charset="utf-8"> 7 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> 8 <meta http-equiv="Content-Security-Policy" content="default-src * data: gap: https://ssl.gstatic.com; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'"> 9 10 <script src="js/ad.js"></script> 11 12 <script src="components/loader.js"></script> 13 <script src="lib/onsenui/js/onsenui.min.js"></script> 14 15 <link rel="stylesheet" href="components/loader.css"> 16 <link rel="stylesheet" href="lib/onsenui/css/onsenui.css"> 17 <link rel="stylesheet" href="lib/onsenui/css/onsen-css-components.css"> 18 <link rel="stylesheet" href="css/style.css"> 19 20 <script> 21 ons.ready(function() { 22 console.log("Onsen UI is ready!"); 23 }); 24 </script> 25</head> 26<body> 27 This is a template for Onsen UI app. 28 29 <div id="adg">てすと</div> 30</body> 31</html> 32
javascript
1ad.js 2function makeADGTag(adid , divid){ 3 var adg = document.getElementById(divid); 4 var script = document.createElement('script'); 5 script.type = 'text/javascript'; 6 // async=true�ɂ��邱�Ƃɂ���Ĕ????��ɑΉ�����܂� 7 script.src ='https://i.socdm.com/sdk/js/adg-script-loader.js?id=' + adid + '&adType=SP&displayid=0&targetID=adg_' + divid + '&async=true'; 8 if(adg != null){ 9 adg.appendChild(script); 10 } 11 adg.style.display = 'none'; 12 var count = 0; 13 var timer = setInterval(function checkAd(){ 14 count++; 15 if(count > 100){ 16 clearInterval(timer); 17 return; 18 } 19 if(checkADGTag(adg) === true){ 20 clearInterval(timer); 21 adg.style.display = 'inline'; 22 } 23 },100); 24} 25 26// a�^�O��T�� 27function checkADGTag(obj){ 28 var links = obj.getElementsByTagName('a'); 29 var frms = obj.getElementsByTagName('iframe'); 30 if(links.length > 0){ 31 makeADGLink(links); 32 return true; 33 } 34 35 var res = false; 36 for(var i = 0; i < frms.length; i++){ 37 if(checkADGTag(frms[i].contentWindow.document) === true){ 38 res = true 39 } 40 } 41 return res; 42} 43 44// a�^�O��u������ 45function makeADGLink(arr){ 46 for(var i = 0; i < arr.length; i++){ 47 (function(a) { 48 var href = a.href; 49 a.href = '#'; 50 a.onclick = function(){ 51 var ref = window.open(href, '_system'); 52 return false; 53 } 54 })(arr[i]); 55 } 56} 57
javascript
1loader.js 2 3(function(){ 4 function getDeviceObjectForPreview() { 5 var raw_values = window.location.search.substring(1).split('&'); 6 var values = {}; 7 var device = { platform: "" }; 8 9 if (raw_values) { 10 for (var key in raw_values) { 11 var tmp = raw_values[key].split('='); 12 values[tmp[0]] = decodeURIComponent(tmp[1]); 13 } 14 device.platform = values.platform; 15 } 16 17 return device; 18 } 19 20 if (/^https://preview-.+monaca.(local||mobi)/.test(location.href)) { 21 window.device = getDeviceObjectForPreview(); 22 } 23 24 if ((navigator.userAgent.match(/Android/i)) || (navigator.userAgent.match(/iPhone|iPad|iPod/i))) { 25 if (typeof location.href === "string") { 26 var relativePath = location.href.split("/www")[1]; 27 var paths = relativePath.split("/"); 28 var cordovaJsUrl = ""; 29 for (var i = 0; i < paths.length - 2; i++) { 30 cordovaJsUrl += "../"; 31 } 32 document.write("<script src=\"" + cordovaJsUrl+ "cordova.js" + "\"></script>"); 33 } 34 } else if ( ((navigator.userAgent.match(/MSIE\s10.0/)) && (navigator.userAgent.match(/Windows\sNT\s6.2/)) ) || navigator.userAgent.match(/MSAppHost/) ) { 35 var elm = document.createElement('script'); 36 elm.setAttribute("src", "cordova.js"); 37 document.getElementsByTagName("head")[0].appendChild(elm); 38 }; 39 40 // この部分を追記 41 document.addEventListener('deviceready', function() { 42 makeADGTag(10722,'adg'); 43 }); 44 45})(); 46
回答1件
あなたの回答
tips
プレビュー