Angular 我们如何在混合离子应用程序中集成细分分析?

Angular 我们如何在混合离子应用程序中集成细分分析?,angular,ionic2,hybrid-mobile-app,segment-analytics,Angular,Ionic2,Hybrid Mobile App,Segment Analytics,我们如何在爱奥尼亚应用程序中集成细分分析 我已经阅读了“”的文档,但没有发现任何关于ionic应用程序集成的内容不幸的是,文档缺少应用程序示例。希望有足够的时间,人们会提出足够的请求,以便文档有明确的指南。同时,我认为这将有助于你: (注意:这使用Angulartics将事件映射到分段或其他分析工具。您可以绕过Angulartics部分,但为什么要重新发明轮子?) 您需要做的第一件事是在应用程序中包含段库。它们在源代码的概览屏幕({your Source's name}/overview)中提供

我们如何在爱奥尼亚应用程序中集成细分分析


我已经阅读了“”的文档,但没有发现任何关于ionic应用程序集成的内容

不幸的是,文档缺少应用程序示例。希望有足够的时间,人们会提出足够的请求,以便文档有明确的指南。同时,我认为这将有助于你:

(注意:这使用Angulartics将事件映射到分段或其他分析工具。您可以绕过Angulartics部分,但为什么要重新发明轮子?)

  • 您需要做的第一件事是在应用程序中包含段库。它们在源代码的概览屏幕({your Source's name}/overview)中提供代码段。这看起来像是
    !函数()。将其复制并粘贴到应用程序的
    index.html
    文件中,靠近其部分顶部
  • 将角度添加到项目中:

    a。在项目中安装Angulartics:
    npm安装Angulartics 2--保存

    (之后,我建议您从
    package.json
    文件中删除angulartics上的
    ^
    ,以便将来安装准确的版本)

    b。在应用程序模块中包括角度:

  • 代码(src/app/app.module.ts):

  • 开始在代码中使用Angulartics包:
  • 从'angulartics2'导入{Angulartics2Segment}
    ...
    导出类组件{
    构造函数(私有分析:Angulartics2Segment){}
    public submitButtonClicked(){
    让属性={
    福:“酒吧”,
    巴兹:42,,
    等等:{some:'thing'}
    }
    this.analytics.eventTrack('事件操作',属性)
    }
    
    }
    不幸的是,该文档缺少应用程序示例。希望有足够的时间,人们会提出足够的请求,以便文档有明确的指南。同时,我认为这将有助于你:

    (注意:这使用Angulartics将事件映射到分段或其他分析工具。您可以绕过Angulartics部分,但为什么要重新发明轮子?)

  • 您需要做的第一件事是在应用程序中包含段库。它们在源代码的概览屏幕({your Source's name}/overview)中提供代码段。这看起来像是
    !函数()。将其复制并粘贴到应用程序的
    index.html
    文件中,靠近其部分顶部
  • 将角度添加到项目中:

    a。在项目中安装Angulartics:
    npm安装Angulartics 2--保存

    (之后,我建议您从
    package.json
    文件中删除angulartics上的
    ^
    ,以便将来安装准确的版本)

    b。在应用程序模块中包括角度:

  • 代码(src/app/app.module.ts):

  • 开始在代码中使用Angulartics包:
  • 从'angulartics2'导入{Angulartics2Segment}
    ...
    导出类组件{
    构造函数(私有分析:Angulartics2Segment){}
    public submitButtonClicked(){
    让属性={
    福:“酒吧”,
    巴兹:42,,
    等等:{some:'thing'}
    }
    this.analytics.eventTrack('事件操作',属性)
    }
    
    }
    我最后做的是将Segment提供的analytics.js脚本放到index.html中。然后在模板中,在导入的下面和@Component的外部,通过写入“declare var analytics”来公开段脚本中可用的分析变量

    index.html

    <head> 
      <script src="cordova.js"></script>
    
      <!-- Drop in script here -->
      <script type="text/javascript">
       !function(){var analytics=window.analytics=window.analytics||[]; if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","once","off","on"];analytics.factory=function(t){return function(){var e=Array.prototype.slice.call(arguments);e.unshift(t);analytics.push(e);return analytics}};for(var t=0;t<analytics.methods.length;t++){var e=analytics.methods[t];analytics[e]=analytics.factory(e)}analytics.load=function(t){var e=document.createElement("script");e.type="text/javascript";e.async=!0;e.src=("https:"===document.location.protocol?"https://":"http://")+"cdn.segment.com/analytics.js/v1/"+t+"/analytics.min.js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(e,n)};analytics.SNIPPET_VERSION="4.0.0";
      analytics.load("YOUR_WRITE_KEY");
      }}();
        </script>
    
    </head>
    

    您可以在需要使用段的任何ts文件中声明分析

    我最后做的是将Segment提供的analytics.js脚本放到index.html中。然后在模板中,在导入的下面和@Component的外部,通过写入“declare var analytics”来公开段脚本中可用的分析变量

    index.html

    <head> 
      <script src="cordova.js"></script>
    
      <!-- Drop in script here -->
      <script type="text/javascript">
       !function(){var analytics=window.analytics=window.analytics||[]; if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","once","off","on"];analytics.factory=function(t){return function(){var e=Array.prototype.slice.call(arguments);e.unshift(t);analytics.push(e);return analytics}};for(var t=0;t<analytics.methods.length;t++){var e=analytics.methods[t];analytics[e]=analytics.factory(e)}analytics.load=function(t){var e=document.createElement("script");e.type="text/javascript";e.async=!0;e.src=("https:"===document.location.protocol?"https://":"http://")+"cdn.segment.com/analytics.js/v1/"+t+"/analytics.min.js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(e,n)};analytics.SNIPPET_VERSION="4.0.0";
      analytics.load("YOUR_WRITE_KEY");
      }}();
        </script>
    
    </head>
    
    您可以在需要使用段的任何ts文件中声明分析

    import {Component} from '@angular/core';
    etc....
    
    //expose analytics variable
    declare var analytics;
    
    @Component({
    selector: 'page-home',
    templateUrl: 'home.html'
    })
    
    export class HomePage {
    constructor() {
    
    analytics.page("Home");
    }
    
    myButton(){
      analytics.track("Button Click");
    
    
      console.log("My Button was clicked");
     }
    
    }