0

スノープラウとAngularアプリの相互関係で問題に直面しています ここから公式ドキュメントに従っています ここにリンクの説明を入力してください

私のコードは

    <script type="text/javascript">

    ;(function(p,l,o,w,i,n,g){if(!p[i]){p.GlobalSnowplowNamespace=p.GlobalSnowplowNamespace||[];
p.GlobalSnowplowNamespace.push(i);p[i]=function(){(p[i].q=p[i].q||[]).push(arguments)
};p[i].q=p[i].q||[];n=l.createElement(o);g=l.getElementsByTagName(o)[0];n.async=1;
n.src=w;g.parentNode.insertBefore(n,g)}}(window,document,"script","http://d1fc8wv8zag5ca.cloudfront.net/2.6.1/sp.js","snowplow_tracker"));

      console.debug(snowplow_tracker);

    snowplow_tracker('gotoTrackerMethode', '{{MY-COLLECTOR-URI (cloudFront URl)}}');
    function gotoTrackerMethode(a, b)
    {
        console.debug(a);
    }
    function gotoTrackerName(s){
      console.debug("asdf");
    }
    // window.snowplow_tracker('enableActivityTracking', 30, 10);
    // window.snowplow_tracker('enableLinkClickTracking');
    // window.snowplow_tracker('trackPageView');
    </script>

どんな助けでも大歓迎です。

4

1 に答える 1

0

多くの研究開発の後、単純ではなくコールバックのようなコールバックメソッドを呼び出す必要がある解決策を自分で見つけました

 ;(function(p,l,o,w,i,n,g){if(!p[i]){p.GlobalSnowplowNamespace=p.GlobalSnowplowNamespace||[];
p.GlobalSnowplowNamespace.push(i);p[i]=function(){(p[i].q=p[i].q||[]).push(arguments)
};p[i].q=p[i].q||[];n=l.createElement(o);g=l.getElementsByTagName(o)[0];n.async=1;
n.src=w;g.parentNode.insertBefore(n,g)}}(window,document,"script","http://d1fc8wv8zag5ca.cloudfront.net/2.6.1/sp.js","snowplow_tracker"));


    // callbacks
  snowplow_tracker(function () {
    console.log("sp.js has loaded");
  });

  snowplow_tracker(function (x) {
    console.log(x);
  }, "sp.js has loaded");


  //Find the utma cookie and extract the unique user ID
  function getGoogleId() {
      var id, a, c = document.cookie.split('; ');
      for (var i in c) {
          a = c[i].split('=');
          if (a[0]==='__utma') {
              id = a[1].split('.')[1];
          }
      }
      return id || 'unknown';
  }


        // Configure a tracker instance named "cf"
  snowplow_tracker('newTracker', 'cf', 'd3rkrsqld9gmqf.cloudfront.net', {
      appId: 'snowplowExampleApp',
      platform: 'web'
  });

  // Access the tracker instance inside a callback
  snowplow_tracker(function () {
      var cf = this.cf;
      var userFingerprint = cf.getUserFingerprint();
       var domainUserId = cf.getDomainUserId();
       var domainUserInfo = cf.getDomainUserInfo();
       var userId = cf.getUserId();
      console.debug(userId);
      console.debug(domainUserInfo);
      console.debug(userFingerprint);
      console.debug(domainUserId);
  })

   snowplow_tracker('enableActivityTracking', 30, 10);
  snowplow_tracker('enableLinkClickTracking');
  snowplow_tracker('trackPageView');

これは現在正常に機能しています。

于 2016-05-27T10:09:57.187 に答える