반응형
LinkedIn 개발자로 성장하면서 남긴 발자취들을 확인하실 수 있습니다.
Github WWDC Student Challenge 및 Cherish, Tiramisul 등 개발한 앱들의 코드를 확인하실 수 있습니다.
개인 앱 : Cherish 내 마음을 들여다보는 시간, 체리시는 디자이너와 PM과 함께 진행 중인 1인 개발 프로젝트입니다.
10년 후, 20년 후 나는 어떤 스토리 텔러가 되어 있을지 궁금하다. 내가 만약에 아직 조금 더 탐구하고 싶은 게 있고, 궁금한 게 있다면, 그게 설사 지금 당장의 내 인생에 도움이 안 되는 것 같더라도 경험해보자. 그 경험들을 온전히 즐기며 내 것으로 만들고, 내 일에 녹여내고... 그러다보면 그 점들이 모여 나란 사람을 그려내는 선이 될 테니까.

Recent Posts
Recent Comments
Total
관리 메뉴

꿈꾸는리버리

[Google Analytics 1 ] SwiftUI/ GA 이게 뭐고 어떻게 사용하나요? 본문

오뚝이 개발자/iOS

[Google Analytics 1 ] SwiftUI/ GA 이게 뭐고 어떻게 사용하나요?

rriver2 2024. 3. 10. 16:30
반응형

 ☺️Google Analytics란? 

앱에 도착한 후 어떤 행동을 보이는지(방문형태에 관한 정보) 등에 관한 데이터를 분석하여 마케팅 채널별 효과와 사용자의 앱 경험을 개선하고 궁극적으로 비즈니스를 개선하는 데 활용하는 것을 말한다.

 

그리고.. Cherish도 어떤 시간대에 사람들이 일기를 작성하는 지, 하루 방문자 수는 어떻게 되는지, 어떤 일기를 사용자들이 많이 작성하는지 분석하기 위해 Google Analytics을 도입하기 되었다.

 이번 포스팅에서는... 

오늘은 우선, 어떻게 Firebase Analytics 세팅을 하는지, 그리고 간단하게 button을 눌렀을 때 analytics를 확인할 수 있는 방법에 대해 알아볼 것이다.

다음 포스팅 : [ Google Analytics 2 ] 앱 추적 허용

 

💡Firebase Analytics 세팅하기 

세팅하는 방법은 Firebase 공식 홈페이지에 나와 있는 내용을 자세히 설명하려고 합니다. 공홈 보고 싶으신 분은 공홈을 확인해주세요 :)

 

1️⃣ Firebase 프로젝트 만들기 + Firebase에 앱 등록

Firebase Console -> Firebase 프로젝트 생성 -> 앱 추가 -> iOS 앱 추가 

 

 

참고)

- Apple bundle id 찾기

- App Store ID 찾기

https://itunes.apple.com/us/app/yourapp/id123456789
-> 여기서 마지막 숫자 "123456789"가 App Store ID

2️⃣ Firebase 구성 파일 추가

위에서 앱 등록을 하고 나면 파일을 다운 받을 수 있게 되고, 아래의 사진과 같이 해당 plist를 project에 넣는다.

3️⃣ 앱에 Firebase SDK 추가

아래와 같이 SPM을 통해 Firebase SDK를 추가한다.

https://github.com/firebase/firebase-ios-sdk

4️⃣ 앱에서 Firebase 초기화

앱 대리자를 만들고 UIApplicationDelegateAdaptor 또는 NSApplicationDelegateAdaptor를 통해 App 구조체에 연결을 한 후 앱 대리자의 application(_:didFinishLaunchingWithOptions:) 메서드에서 FirebaseApp 공유 인스턴스를 구성한다.

import SwiftUI
// -> 이 부분
import FirebaseCore
import FirebaseFirestore
import FirebaseAuth
// <-

@main
struct CherishApp: App {
    // -> 이 부분
    @UIApplicationDelegateAdaptor var delegate: MyAppDelegate
    // <-
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}

// -> 이 부분
class MyAppDelegate: NSObject, UIApplicationDelegate {
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
      FirebaseApp.configure()
      return true
    }
}
// <-

 

⚠️ 만약 아래와 같은 오류가 발생한다면, 

Missing required modul ' ~~ ' 
No such module ' ~~ '

 

아래 사진에 위치하는 Frameworks, Libraries, and Embedded Content를 확인하고 없으면 + 버튼을 눌러 추가하고 재빌드하기!

4️⃣ 디버그 모드 사용 설정하기

개발할 때는 네트워크 데이터 사용량을 줄일 필요가 없기 때문에 아래의 명령줄을 추가해준다.

-FIRDebugEnabled

 

 💕 Firebase Analytics 실험하기 ( 간략 ) 

아래와 같이 FirebaseAnalytics를 import하고 버튼을 만들면,

버튼이 클릭될 때마다 Analytics.logEvent("timeline", parameters: nil) 로그가 찍히는 것을 확인할 수 있다.

* 시뮬레이터가 아닌 실 디바이스로 확인하는 것을 권장합니다.

import SwiftUI
import FirebaseAnalytics

struct TempView: View {
    var body: some View {
        Button {
            Analytics.logEvent("timeline", parameters: nil)
        } label: {
            Text("실험용")
        }

    }
}

그리고 공홈에서 디버깅뷰를 확인하면 다음과 같이 클릭된 히스토리를 확인할 수 있다.

 

 다음 포스팅에서는... 

다양한 추적 방법에 대해 알아볼 예정입니다.

 

[ 출처 ]

https://firebase.google.com/docs/ios/setup?hl=ko

 

Apple 프로젝트에 Firebase 추가  |  Firebase for Apple platforms

Google I/O 2023에서 Firebase의 주요 소식을 확인하세요. 자세히 알아보기 의견 보내기 Apple 프로젝트에 Firebase 추가 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요

firebase.google.com

https://firebase.google.com/docs/analytics/debugview?hl=ko

 

디버깅 이벤트  |  Google Analytics for Firebase

Google I/O 2023에서 Firebase의 주요 소식을 확인하세요. 자세히 알아보기 의견 보내기 디버깅 이벤트 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. DebugView를 사

firebase.google.com

 

 

반응형
Comments