-
iOS 출시 프로젝트 23일차 - Google 애널리틱스, 크래시틱스카테고리 없음 2021. 12. 7. 15:33
구글 애널리틱스를 앱에 설치해서 사용자가 앱을 어떻게 사용하고 있는지 추척이 가능하다.
예를 들면 어디 화면은 사용자가 잘 쓰고 어느 버튼은 사용자가 거의 안쓰고
회원가입 플로우같은경우 포기하는 지점이 어디인지 파악 가능 (ex. 전화번호인증(90%) -> 이메일 인증(20%) 이런식이면 이메일 인증 화면 삭제를 고려해볼 수 있음)
그리고 애플 정책상 앱 추적 투명성을 제공해야한다 그래야 출시 가능
아니면 IDFA(기기 광고 식별자) 수집 없이 하려면 아래걸로 가능
pod 'Firebase/AnalyticsWithoutAdIdSupport'
프로젝트에 추가 그리고 Github에 올라가면 안되니깐 .gitignore에 추가해주었다.
AppDelegate 에서 작업 // Firebase 초기화, 공유 인스턴스 생성
FirebaseApp.configure()
# Uncomment the next line to define a global platform for your project platform :ios, '13.0' target 'RetailTherapyRecord' do # Comment the next line if you don't want to use dynamic frameworks use_frameworks! # Pods for RetailTherapyRecord pod 'Firebase/Analytics' pod 'Firebase/Crashlytics' end
iOS 14 이후 다른 SDK를 사용할 경우
애플 정책상 사용자 정보를 수집하려면 동의를 얻어야한다.
//AppDelegate 안에서 해주면 됨 import AppTrackingTransparency //ATT Framework if #available(iOS 14, *) { ATTrackingManager.requestTrackingAuthorization { status in switch status{ case .notDetermined: print("notDetermined") Analytics.setAnalyticsCollectionEnabled(false) case .restricted: print("restricted") Analytics.setAnalyticsCollectionEnabled(false) case .denied: print("denied") Analytics.setAnalyticsCollectionEnabled(false) case .authorized: print("authorized") //애널리틱스 수집 가능 Analytics.setAnalyticsCollectionEnabled(true) @unknown default: print("unknown") Analytics.setAnalyticsCollectionEnabled(false) } } }
하지만 iOS 15부터 ATT Framework 프롬프트가 또 바뀜
그래서 SceneDelegate 에서 해줘야한다
import AppTrackingTransparency import FirebaseAnalytics func sceneDidBecomeActive(_ scene: UIScene) { DispatchQueue.main.asyncAfter(deadline: .now() + 1) { //ATT Framework if #available(iOS 14, *) { ATTrackingManager.requestTrackingAuthorization { status in switch status{ case .notDetermined: print("notDetermined") Analytics.setAnalyticsCollectionEnabled(false) case .restricted: print("restricted") Analytics.setAnalyticsCollectionEnabled(false) case .denied: print("denied") Analytics.setAnalyticsCollectionEnabled(false) case .authorized: print("authorized") //애널리틱스 수집 가능 Analytics.setAnalyticsCollectionEnabled(true) @unknown default: print("unknown") Analytics.setAnalyticsCollectionEnabled(false) } } } else { // Fallback on earlier versions } } }
크래시틱스는 문서 따라서 하면 되고
오류를 기록할 수 있따!
프로젝트 타겟에 dSYM 파일 자동 업로드 해주는데 디버그 모드도 해주면 테스트할 때 볼 수 있다.
코코아팟으로 다운 받았으면
"${PODS_ROOT}/FirebaseCrashlytics/run"
SPM(Swift Package Manager)으로 다운 받았으면
"${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run
https://firebase.google.com/docs/ios/setup?hl=ko
Apple 프로젝트에 Firebase 추가 | Firebase Documentation
의견 보내기 Apple 프로젝트에 Firebase 추가 기본 요건 다음을 설치합니다. 프로젝트가 다음 요구사항을 충족하는지 확인합니다. 프로젝트에서 다음 플랫폼 버전 이상을 타겟팅해야 합니다. iOS 10 m
firebase.google.com
https://firebase.google.com/docs/analytics/configure-data-collection?platform=ios
애널리틱스 데이터 수집 및 사용 구성 | Firebase Documentation
Join Firebase at Google I/O 2022 live from Shoreline Amphitheatre and online May 11-12. Register now 의견 보내기 애널리틱스 데이터 수집 및 사용 구성 Google 애널리틱스는 애널리틱스 데이터의 수집 및 사용을 제어할
firebase.google.com
https://firebase.google.com/docs/crashlytics/get-started?hl=ko&platform=ios
Firebase Crashlytics 시작하기 | Firebase Documentation
Join Firebase at Google I/O 2022 live from Shoreline Amphitheatre and online May 11-12. Register now 의견 보내기 Firebase Crashlytics 시작하기 iOS+ Android Unity 이 빠른 시작에서는 Firebase Crashlytics SDK를 사용해 앱에 Firebase Cras
firebase.google.com