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部分,但为什么要重新发明轮子?)
!函数()代码>。将其复制并粘贴到应用程序的index.html
文件中,靠近其部分顶部
npm安装Angulartics 2--保存
(之后,我建议您从package.json
文件中删除angulartics上的^
,以便将来安装准确的版本)
b。在应用程序模块中包括角度:从'angulartics2'导入{Angulartics2Segment}
...
导出类组件{
构造函数(私有分析:Angulartics2Segment){}
public submitButtonClicked(){
让属性={
福:“酒吧”,
巴兹:42,,
等等:{some:'thing'}
}
this.analytics.eventTrack('事件操作',属性)
}
}
不幸的是,该文档缺少应用程序示例。希望有足够的时间,人们会提出足够的请求,以便文档有明确的指南。同时,我认为这将有助于你:
(注意:这使用Angulartics将事件映射到分段或其他分析工具。您可以绕过Angulartics部分,但为什么要重新发明轮子?)
!函数()代码>。将其复制并粘贴到应用程序的index.html
文件中,靠近其部分顶部
npm安装Angulartics 2--保存
(之后,我建议您从package.json
文件中删除angulartics上的^
,以便将来安装准确的版本)
b。在应用程序模块中包括角度:从'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");
}
}