- Total
꿈꾸는리버리
[Google Analytics 2 ] 앱 추적 허용 본문
이전 포스팅 : [Google Analytics 1 ] SwiftUI/ GA 이게 뭐고 어떻게 사용하나요?
☺️앱 추적 허용을 해야 하는 이유
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
'오뚝이 개발자 > iOS' 카테고리의 다른 글
Config를 활용한 중요 내용 숨기기 (2) | 2024.04.06 |
---|---|
[Error] Verify that the Developer App certificate for your account is trusted on your device. (0) | 2024.03.15 |
SwiftUI Widget 딱대(짐).. : 위젯에 폰트가 안 먹혀요... (0) | 2024.03.12 |
[Google Analytics 1 ] SwiftUI/ GA 이게 뭐고 어떻게 사용하나요? (0) | 2024.03.10 |
[인앱 결제하기 3] 샌드박스 결제, 인앱 결제 심사 방법 (1) | 2024.03.06 |