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

Recent Posts
Recent Comments
Total
관리 메뉴

꿈꾸는리버리

[Google Analytics 2 ] 앱 추적 허용 본문

오뚝이 개발자/iOS

[Google Analytics 2 ] 앱 추적 허용

rriver2 2024. 3. 13. 17:30
반응형

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

 

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

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

rriver2.tistory.com

 

 ☺️앱 추적 허용을 해야 하는 이유 

GA를 통해 우리가 하는 일은 사실..사용자의 정보를 가지고 활용하는 일..ex) B 버튼 보다 A 버튼을 많이 눌렀군 우리한테는 B 버튼이 더 중요한데 말이지... -> B 버튼을 더 눈에 잘 띄는 곳으로 이동시킴

 

그렇기 때문에 사용자의 발자취를 추적하는 것을 허락 받아야 한다.

 

 🔮 App Tracking Transparency 

애플에서 제공하는 앱 추적 투명성(App Tracking Transparency) 프레임워크를 이용하여 사용자에게 앱 추적 권한을 요청할 수 있다.

Info.plist에 가서 아래와 같이 설정을 해준다.

 

그리고 AdSupport와 AppTrackingTransparency를 import하고, AppDelegate를 설정해준다.

⚠️ 권한 요청 창을 바로 띄우지 않고 DispatchQueue.main.asyncAfter로 조금 늦게 띄워야 창이 제대로 나타난다.

import AdSupport
import AppTrackingTransparency

@main
struct 00App: 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 {
        // 앱 추적 권한 요청
        DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
            if #available(iOS 14, *) {
                ATTrackingManager.requestTrackingAuthorization { status in
                    switch status {
                    case .authorized:           // 허용됨
                        print("Authorized")
                        print("IDFA = \(ASIdentifierManager.shared().advertisingIdentifier)")
                    case .denied:               // 거부됨
                        print("Denied")
                    case .notDetermined:        // 결정되지 않음
                        print("Not Determined")
                    case .restricted:           // 제한됨
                        print("Restricted")
                    @unknown default:           // 알려지지 않음
                        print("Unknow")
                    }
                }
            }
        }
      return true
    }
}

 

 

 ☺️앱이 수집하는 개인정보 업데이트 

배포를 하려고 하니까, 아래와 같은 에러가 떴다. 

 

 

구글링을 하니까 앱이 수집하는 개인정보를 수정해야 한다고 했다. 아래와 같이 데이터 수집에 대한 정보를 수정하면 된다. 

앱스토어에 어떤 정보를 수집하는지를 사용자는 앱을 다운받기 전 알게 된다.

이렇게 설정이 끝나면, 앱스토어에서 우측과 같이 확인할 수 있게 된다.

 

 

 

[ 출처 ]

https://www.hackingwithswift.com/quick-start/swiftui/how-to-add-an-appdelegate-to-a-swiftui-app

https://developer.apple.com/documentation/apptrackingtransparency

 

App Tracking Transparency | Apple Developer Documentation

Request user authorization to access app-related data for tracking the user or the device.

developer.apple.com

반응형
Comments