UNPKG

ionic-cordova-gulp-seed

Version:

Ionic & Cordova & Gulp seed with organized code, tests, bower support and some other stuff. Originated from ionic-angular-cordova-seed.

1 lines 1.36 kB
!function(a){"use strict";a.module("angulartics.google.tagmanager.cordova",["angulartics"]).provider("googleTagManagerCordova",function(){var b=["$q","$log","ready","debug","trackingId","period",function(a,b,c,d,e,f){function g(){d&&b.info(arguments)}function h(a){d&&b.error(a)}var i=a.defer(),j=!1;document.addEventListener("deviceReady",function(){j=!0,i.resolve()},!1),document.addEventListener("pause",function(){var a=window.plugins&&window.plugins.TagManager;a&&a.dispatch(g,h)},!1),document.addEventListener("resign",function(){var a=window.plugins&&window.plugins.TagManager;a&&a.dispatch(g,h)},!1),setTimeout(function(){j||i.resolve()},3e3),this.init=function(){return i.promise.then(function(){var a=window.plugins&&window.plugins.TagManager;a?a.init(function(){c(a,g,h)},h,e,f||30):d&&b.error("Google Tag Manager for Cordova is not available")})}}];return{$get:["$injector",function(c){return c.instantiate(b,{ready:this._ready||a.noop,debug:this.debug,trackingId:this.trackingId,period:this.period})}],ready:function(a){this._ready=a}}}).config(["$analyticsProvider","googleTagManagerCordovaProvider",function(a,b){b.ready(function(b,c,d){a.registerPageTrack(function(a){b.trackPage(c,d,a)}),a.registerEventTrack(function(a,e){b.trackEvent(c,d,e.category,a,e.label,e.value)})})}]).run(["googleTagManagerCordova",function(a){a.init()}])}(angular);