Angular TypeScript 및 JavaScript와 Countly Web Analytics 통합

Angular 프로젝트에 Countly를 통합하는 방법을 배우고 JS에서 TS로 이동

Unsplash의 James Harrison 사진

우선 Idea 추출에 많은 도움을 주신 Mohammed Hewedy 에게 깊은 감사를 드립니다.

Countly는 온프레미스에 설치할 수 있는 강력한 웹 분석 도구입니다.

Countly에는 사용자 세션, 프로필, 페이지 보기, 사용자 지정 이벤트, 히트맵, 피드백, 설문 조사, 기록 쿼리, 오류, 모니터링, 사용자 세분화 및 퍼널 수집과 같은 많은 기능이 있습니다.

Countly는 Android, IOS 및 JavaScript 기반 프레임워크에서 사용할 수 있습니다.

Angular 개발 통합 가이드:

세 가지 방법으로 Countly를 통합할 수 있습니다.

전제 조건:

  • 서버 URL: Countly 인스턴스가 설치된 포털/대시보드이며 대시보드를 보는 데 사용됩니다.
  • 앱 키: 타사 통합과 같이 구독 계정을 연결하는 데 사용되는 키(예: firebase, FCM 등)

2- 패키지 관리자를 통해

npm install countly-sdk-web
bower install countly-sdk-web
yarn add countly-sdk-web

  • 첫 번째 방법에서 생성된 스크립트를 가져오고 src/assets/js에 .JS 파일을 만듭니다(예: countly.js).
  • 생성된 파일을 'scripts' 배열 아래의 각도 앱 진입점 'angular.json'에 연결합니다(예: "scripts": ["src/assets/js/countly.js"]).
  • 가장 사용자 정의 가능한 방법이며 더 세밀하게 제어할 수 있습니다.
  • Angular 서비스를 만들고 필요한 Countly 기능을 활성화합니다.
  • import {Injectable} from '@angular/core';
    import Countly from 'countly-sdk-web';
    
    @Injectable({providedIn: 'root'})
    export class CountlyService {
    
      init(): void {
        window['Countly'] = Countly;
        Countly.init({
          app_key: 'Your company subscription app key',
          url: 'the server URL where Countly is installed',
          debug: true, // make sure to remove from production
        });
    
        Countly.q.push(['track_sessions']);
        Countly.q.push(['track_pageview']);
        Countly.q.push(['track_clicks']);
        Countly.q.push(['track_links']);
        Countly.q.push(['track_forms']);
        Countly.q.push(['track_errors']);
        // .....
      }
    }
    

    export class AppComponent implements OnInit {
     constructor(private countlyService: CountlyService) {}
     ngOnInit() {
      this.countlyService.init();
     }
    }
    

    // in Countly.service.ts add the below method
    private fillUserProfile(customUserProperties) {
    Countly.q.push(() => {
      Countly.user_details({
        name: this.fullName,
        username: this.username,
        organization: this.organization,
        email: this.email,
        phone: this.phone,
        custom: customUserProperties
      });
    });
    }
    

    // const customUser = {UserType: UserTypeEnum.CLIENT};
    // this.countlyService.fillUserProfile(customUser);
    

    // in Countly.service.ts add the below method
    pushCustomEvent(eventName: string, segmentationObject) {
      // key: identifies the event
      // count: is the number of times this event occurred
      // sum: is the total amount, total amount of purchases
      // dur: The recorded time is in seconds
      Countly.q.push(['add_event', {
        key: eventName,
        count: 1,
        segmentation: segmentationObject
      }]);
    }
    

    // const segmentation = {CarType: CarTypeEnum.SUV};
    // this.countlyService.pushCustomEvent('Cancel-Ride', segmentation);
    

  • https://support.count.ly/hc/en-us/articles/360037441932-Web-analytics-JavaScript-

Suggested posts

내가 가장 많이 사용하는 코딩 리소스

내가 가장 많이 사용하는 코딩 리소스

이번 주에 저는 일일 이메일 목록의 회원으로부터 이메일을 받았습니다. 그들은 알고 싶어했습니다. 매일, 매주, 매월 어떤 리소스를 방문합니까? 좋은 질문입니다! 제 작업 흐름과 제가 사용하는 주요 리소스에 대한 통찰력을 공유하게 되어 기쁩니다.

Lit 라이브러리 시리즈 — 1: lit-html 라이브러리에 대한 심층 분석

Lit 라이브러리 시리즈 — 1: lit-html 라이브러리에 대한 심층 분석

이 블로그 시리즈의 목적은 Lit 라이브러리를 깊이 탐구하고 Lit 라이브러리의 고유한 기능과 시장의 다른 라이브러리 및 프레임워크와 차별화되는 방법을 포괄적으로 이해하는 것입니다. 이 시리즈는 1과 같은 주제를 다루는 세 부분으로 나뉩니다.

Related posts

기다림의 계절에 할 수 있는 것(기술 분야에서 첫 직장을 얻기 위해 기다림)

기다림의 계절에 할 수 있는 것(기술 분야에서 첫 직장을 얻기 위해 기다림)

새로운 직업으로 전환하는 것은 혼자서 하려고 한다면 매우 어려울 수 있습니다. 귀하와 동일한 학습 수준에 있고 유사한 목표, 끈기 및 추진력을 공유하는 책임 파트너를 찾는 것이 중요합니다.

기독교인에 대한 박해: 우리가 말하지 않는 증오 범죄

이슬람 혐오증은 잊으십시오. 기독교인(및 유대인)은 종교적 증오 범죄의 주요 피해자입니다.

기독교인에 대한 박해: 우리가 말하지 않는 증오 범죄

이성적인 마음을 가진 사람이라면 정치계와 언론계가 좌파, 심지어 극좌파에 의해 지배되고 있다는 사실을 알고 있습니다. 종교 분야에서 이러한 불균형은 분명히 눈에 띕니다. 좌익 신문과 네트워크는 기독교 신앙을 옹호하기 위해 서두르지 않습니다.

"마리아나 해구 공개: 심연의 무서운 숨겨진 진실 공개"

"마리아나 해구 공개: 심연의 무서운 숨겨진 진실 공개"

소개:용감한 독자 여러분, 지구의 가장 어두운 곳으로 우리를 데려다 줄 여행에 오신 것을 환영합니다. 이 블로그에서 우리는 Mariana Trench의 수수께끼 같은 세계를 탐구하여 숨겨진 비밀을 밝히고 그 표면 아래에 있는 뼛속까지 오싹해지는 진실을 밝혀냅니다.

저널 아웃버트

저널 아웃버트

오픈 다이어리: 하루의 사진. 나는 항상 이야기에 매료되었습니다.