비밀번호

커뮤니티2

  • 맑음속초-8.0맑음북춘천-10.8맑음철원-12.5맑음동두천-11.9맑음파주-12.4맑음대관령-15.4맑음춘천-10.4흐림백령도-7.7맑음북강릉-8.4맑음강릉-6.9맑음동해-6.5맑음서울-10.7맑음인천-10.2맑음원주-9.8눈울릉도-3.4맑음수원-10.3맑음영월-10.0맑음충주-9.2흐림서산-7.8맑음울진-7.1맑음청주-8.2구름많음대전-7.7맑음추풍령-9.2맑음안동-8.6맑음상주-7.7맑음포항-5.6구름많음군산-7.1맑음대구-5.8맑음전주-7.3맑음울산-5.9맑음창원-4.4눈광주-6.2맑음부산-4.6맑음통영-4.1눈목포-4.3맑음여수-5.7눈흑산도-3.4구름많음완도-3.9흐림고창-4.8흐림순천-7.8눈홍성-7.9맑음서청주-8.7눈제주0.2구름많음고산0.2흐림성산-2.2눈서귀포-0.6맑음진주-5.5맑음강화-10.1맑음양평-9.5맑음이천-10.1맑음인제-10.4맑음홍천-10.1맑음태백-13.3맑음정선군-10.8맑음제천-10.2맑음보은-8.4맑음천안-9.0구름많음보령-7.1맑음부여-7.3맑음금산-7.6구름많음세종-8.1흐림부안-6.0구름많음임실-7.2구름많음정읍-7.1구름많음남원-7.6구름많음장수-9.2흐림고창군-6.4흐림영광군-4.2맑음김해시-5.6흐림순창군-7.2맑음북창원-4.5맑음양산시-3.9구름많음보성군-5.8흐림강진군-5.7흐림장흥-6.0흐림해남-5.2구름많음고흥-5.3맑음의령군-7.2맑음함양군-6.3맑음광양시-6.6흐림진도군-3.5맑음봉화-11.8맑음영주-9.0맑음문경-8.7맑음청송군-9.3맑음영덕-6.9맑음의성-7.5맑음구미-6.8맑음영천-6.8맑음경주시-6.1맑음거창-7.8맑음합천-4.3맑음밀양-5.1맑음산청-6.6맑음거제-4.0맑음남해-4.0맑음북부산-4.8
  • 2026.02.08(일)

구글태그매니저[Google Tag Manager] 구글태그매니저 커뮤니티입니다.

[GA4, GTM] 앱 태깅시 모든 이벤트에 동일한 파라미터를 삽입하는 방법 (2)

안녕하세요. 1편에서 Firebase SDK 인스턴스의 setDefaultEventParameters() 메소드를 사용하여 앱의 네이티브 영역 태깅시에 모든 이벤트에 동일한 파라미터를 삽입하는 법에 대해 설명했습니다. 앱의 경우 안드로이드는 Activity, iOS는 View 단위로 앱이 실행되지만, 화면이 넘어갈때마다 해당 메소드로 삽입한 파라미터가 유지되는 이유는 Firebase SDK 인스턴스가 싱글톤 패턴의 인스턴스이기 때문이라고 설명드렸습니다. 이번에는 싱글톤 패턴은 무엇이고, Firebase SDK 인스턴스가 싱글톤임을 검증하는 방법까지 설명해보려고 합니다.

 

싱글톤(Singletion) 패턴

싱글톤 패턴이란 객체 지향 프로그래밍에서 클래스의 인스턴스를 단 하나만 생성하고, 어디서든 그 인스턴스에 접근할 수 있게 하는 디자인 패턴을 말합니다.

 

스크린샷 2024-09-13 오전 11.08.08.png

 

일반적인 클래스는 클래스의 생성자로 인스턴스를 생성하고, 그 인스턴스를 통해서 해당 클래스에 정의된 프로퍼티와 메소드를 사용 가능합니다.

 

스크린샷 2024-09-13 오후 1.25.56.png

 

싱글톤 패턴은 이러한 방식으로 인스턴스를 단 하나만 생성하도록 하는 디자인 패턴입니다. 해당 코드에서 singletonObject는 단일 객체를 저장하기 위한 정적 참조 변수이고, static 변수이기 때문에 클래스의 모든 인스턴스가 공유하게 되는데 이때 인스턴스가 단 한개이므로 이 변수를 통해 해당 인스턴스에 접근 혹은 사용 가능하게 되는것입니다.

따라서 Firebase SDK의 클래스가 싱글톤 클래스이므로, 해당 클래스의 인스턴스를 통해 setDefaultEventParameters() 함수를 사용하면 단일 인스턴스에 접근하게 되며, 해당 인스턴스는 전역변수이기 때문에 앱의 어디 부분에서든 사용이 가능하며 내용이 변하지 않는것입니다.

 

 Firebase SDK의 인스턴스 싱글턴 검증

그렇다면 Firebase SDK의 인스턴스가 싱글턴 인스턴스인것은 어떻게 알 수 있을까요?

바로 메모리의 주소값을 통해 알수 있습니다.

코드에서 생성되는 모든 변수와 인스턴스는 일시적이든 영구적이든 메모리에 저장되고, 메모리의 주소값을 가지게 됩니다. 그런데 싱글톤 클래스는 인스턴스를 하나만 만들기 때문에, 인스턴스를 여러개 생성해도 모두 하나의 인스턴스를 참조하게 됩니다. 따라서 따라서 변수를 여러개 만들고 그 변수들의 주소를 확인해서 모두 주소가 같다면, 해당 인스턴스는 싱글톤 클래스의 인스턴스인것을 검증할 수 있습니다.

스크린샷 2024-09-13 오후 4.25.48.png

 

스크린샷 2024-09-13 오후 4.26.13.png

FirebaseAnalytics 클래스로 만든 3개의 인스턴스가 모두 같은 주소 값을 가지고 있으므로, 이 클래스는 싱글톤 클래스임을 알 수 있습니다.

 

감사합니다.

전체댓글0

검색결과는 총 13건 입니다.    글쓰기
1