I\'m trying to put ads on my angular.js app, and I\'ve done some reading and discovered it isn\'t possible to just copy and paste the normal adsense code.
I\'ve hear
I am not sure whether doing the following thing is valid as per the adsense T&C.
delete all the google related variables before you change the url
Object.keys(window).filter(function(k) { return /google/.test(k) }).forEach(
function(key) {
delete(window[key]);
}
);
you need to create a directive
yourApp.directive('ads', function() {
return {
restrict: 'A',
templateUrl: 'partiels/adsTpl',
controller: function(){
(adsbygoogle = window.adsbygoogle || []).push({});
}
};
});
create a template with your ads code in my case "partiels/adsTpl.html"
<ins class="adsbygoogle"
style="display:inline-block;width:300px;height:250px"
data-ad-client="ca-pub-00000000"
data-ad-slot="000000"></ins>
add the directive to your page
<div data-ads></div>
place the adSense js call in the head section of your main page before angularjs
<head>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
....
et voila , this is work perfectly for me
You should do a wrapper directive to the adSense script like this...
<div data-my-ad-sense>
<!-- Google AdSense -->
<script async src="http://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-0000000000"
data-ad-slot="0000000000"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>
And add this directive to your directives...
directive('myAdSense', function() {
return {
restrict: 'A',
transclude: true,
replace: true,
template: '<div ng-transclude></div>',
link: function ($scope, element, attrs) {}
}
})
This is the adSense async code.
In the AngularJS controller, add an init()
function, add a line
(adsbygoogle = window.adsbygoogle || []).push({});
Then call this init()
function in your view html file.
See also at
https://github.com/featen/ags/blob/master/webapp/js/controllers/dict.js