이 가이드에서는 Facebook SDK를 통합한 다음 이러한 이벤트를 로깅하여 새로운 앱이나 기존 앱에 앱 이벤트를 추가하는 방법을 설명합니다.
Facebook iOS SDK가 변경되었습니다. 새로운 Facebook iOS SDK 버전으로 업그레이드하는 것이 좋습니다. 이 변경 사항에 대한 자세한 내용은 기기 동의 섹션을 참조하세요.
앱 대시보드에서 내 앱을 클릭하고 앱이 없다면 새 앱을 만듭니다. 설정 > 기본에서 앱 ID, 앱 시크릿 코드 및 앱에 대한 기타 상세 정보가 있는 앱 상세 정보 패널을 확인합니다.
페이지 하단으로 스크롤한 다음, 플랫폼 추가를 클릭합니다. iOS를 선택하고 앱 상세 정보를 추가한 다음 변경 사항을 저장합니다.
다음 상세 정보를 추가해 광고에 맞게 앱을 설정하세요.
아이콘 또는 카테고리와 같은 자세한 정보를 앱에 추가하는 방법은 앱 개발 문서를 참조하세요.
다음 절차에서는 Swift Package Manager를 사용하여 XCode에서 개발 환경을 설정합니다.
번들 식별자를 추가하고 앱의 SSO를 활성화합니다.
SSO iOS 알림에서 실행됩니다 |
Info.plist
파일을 구성하세요. Facebook 로그인을 통합하고 나서 특정 앱 이벤트가 이벤트 관리자에 대해 자동으로 로깅 및 수집됩니다. 단, 자동 앱 이벤트 로깅을 비활성화한 경우는 예외입니다. 수집되는 정보 및 자동 앱 이벤트 로깅을 비활성화하는 방법에 대한 자세한 내용은 자동 앱 이벤트 로깅을 참조하세요.
Info.plist
를 마우스 오른쪽 버튼으로 클릭하고 소스 코드로 열기를 선택합니다. <dict>...</dict>
)에 붙여넣습니다. [CFBundleURLSchemes]
키의 <array><string>
에서 APP-ID를 앱 ID로 대체합니다.FacebookAppID
키의 <string>
에서 APP-ID를 앱 ID로 대체합니다.FacebookClientToken
키의 <string>
에서 CLIENT-TOKEN을 앱 대시보드의 설정 > 고급 > 클라이언트 토큰에 나와 있는 값으로 대체합니다.FacebookDisplayName
키의 <string>
에서 APP-NAME을 앱 이름으로 대체합니다.Info.plist
에 다음 항목도 포함해야 합니다. FacebookAutoLogAppEventsEnabled
를 Info.plist
에서 키로 추가하면 앱 이벤트의 자동 수집을 'true' 또는 'false'로 직접 설정할 수 있습니다.
AppDelegate.swift
메서드의 코드를 대체합니다. 이 코드는 앱이 시작될 때 SDK를 초기화하며, 로그인이나 공유 작업을 수행할 때 SDK가 Facebook 네이티브 앱의 로그인과 공유를 처리하도록 합니다. 그렇지 않으면 사용자가 Facebook에 로그인한 상태에서만 앱 내 브라우저를 통해 로그인할 수 있습니다. // AppDelegate.swift import UIKit import FacebookCore @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { ApplicationDelegate.shared.application( application, didFinishLaunchingWithOptions: launchOptions ) return true } func application( _ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:] ) -> Bool { ApplicationDelegate.shared.application( app, open: url, sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String, annotation: options[UIApplication.OpenURLOptionsKey.annotation] ) } }
SceneDelegate
로 이동했습니다. iOS 13을 사용하는 경우 다음의 메서드를 SceneDelegate
에 추가하여 로그인이나 공유 등의 기능이 의도한 대로 작동하도록 하세요. // SceneDelegate.swift import FacebookCore ... func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) { guard let url = URLContexts.first?.url else { return } ApplicationDelegate.shared.application( UIApplication.shared, open: url, sourceApplication: nil, annotation: [UIApplication.OpenURLOptionsKey.annotation] ) }
앱에서 이벤트를 추적하는 방법은 세 가지가 있습니다.
앱이 수집하여 Facebook에 보내는 이벤트는 App Store Connect 질문에 이러한 데이터 유형을 공개해야 할 수 있습니다. 여러분은 앱의 개인정보처리방침에 해당 내용을 반영해야 할 책임이 있습니다. 공개해야 할 데이터 유형에 대해 자세히 알아보려면 Apple App Store 개인정보처리방침 상세 정보 문서를 참조하세요.
Facebook SDK를 사용할 때 자동 이벤트 로깅을 비활성화하지 않으면 Facebook 이벤트 관리자를 위해 특정 앱 이벤트가 자동으로 기록되고 수집됩니다. 이러한 이벤트는 타게팅, 성과 측정, 최적화 등 모든 사용 사례와 밀접한 관련이 있으며,
자동 앱 이벤트 로깅의 일환으로 3가지 주요 이벤트인 앱 설치, 앱 실행과 구매 이벤트가 수집됩니다. 자동 로깅이 활성화되어 있으면 광고주는 로그인 노출 이벤트 등의 다른 Facebook 내부 이벤트 외에 이러한 이벤트도 비활성화할 수 있습니다. 그러나 자동 로깅을 비활성화했지만 특정 이벤트(예: 설치 또는 구매 이벤트)를 로깅하고 싶다면 앱에서 해당 이벤트에 대한 로깅을 수동으로 구현합니다.
이벤트 | 상세 정보 |
---|---|
앱 설치 | 새 사용자가 처음으로 앱을 활성화하거나 앱이 특정 기기에서 처음으로 시작된 경우. |
앱 실행 | 사용자가 앱을 실행하면 Facebook SDK가 초기화되고 이벤트가 로깅됩니다. 그러나 첫 번째 앱 실행 이벤트 이후로 60초 이내에 두 번째로 앱 실행 이벤트가 발생하면 두 번째 이벤트가 로깅되지 않습니다. |
앱 내 구매 | Apple App Store 또는 Google Play에 의해 처리된 구매가 완료된 경우. 다른 결제 플랫폼을 사용하는 경우 수동으로 구매 이벤트 코드를 추가해야 합니다. |
Facebook SDK 충돌 보고서 (Facebook 전용) | Facebook SDK로 인해 앱이 충돌할 경우 충돌 보고서가 생성되고 앱이 다시 시작되었을 때 Facebook으로 전송됩니다. 이 보고서에는 사용자 데이터가 포함되지 않으며 Facebook이 SDK의 품질과 안정성을 보장하는 데 도움이 됩니다. 이 이벤트 로깅을 옵트아웃하려면 자동 로깅된 이벤트를 비활성화하세요. |
iOS 14.5부터 AdvertiserTrackingEnabled
를 설정하고 Facebook과 데이터를 공유할 권한을 기기에 부여할 때마다 로깅해야 합니다.
기기에서 동의를 제공할 경우 Settings.shared.isAdvertiserTrackingEnabled = true
를 설정합니다.
기기에서 추적을 허용하지 않을 경우 Settings.shared.isAdvertiserTrackingEnabled = false
를 설정합니다.
자동 이벤트 로깅을 비활성화하려면 Xcode에서 앱의 .plist
를 코드로 열고 다음 XML을 자산 사전에 추가합니다.
<key>FacebookAutoLogAppEventsEnabled</key> <false/>
사용자 동의를 얻거나 법적 의무를 이행하는 등의 목적으로 자동 로깅된 이벤트의 수집을 비활성화하는 대신 지연하고 싶을 경우도 있습니다. 이 경우 최종 사용자에게 동의를 받은 후 Settings.shared.isAutoLogAppEventsEnabled = true
를 설정하여 자동 로깅을 다시 활성화합니다.
어떤 이유로든 다시 수집 작업을 일시 차단하려면 Settings.shared.isAutoLogAppEventsEnabled = false
로 설정합니다.
또한 앱 대시보드를 사용하여 자동 앱 내 구매 이벤트 로깅을 비활성화할 수 있습니다. 기본>설정의 iOS 카드로 이동하여 No로 바꿉니다.
advertiser-id
수집을 비활성화하려면 앱의 .plist
를 Xcode에서 코드로 열고 다음 XML을 자산 사전에 추가합니다.
<key>FacebookAdvertiserIDCollectionEnabled</key> <false/>
사용자 동의를 얻거나 법적 의무를 이행하는 등의 목적으로 advertiser_id
의 수집을 비활성화하는 대신 지연하고 싶을 경우도 있습니다. 이 경우 최종 사용자에게 동의를 받은 후 Settings.shared.isAdvertiserIDCollectionEnabled = true
로 설정합니다.
어떤 이유로든 수집 작업을 일시 차단하려면 Settings.shared.isAdvertiserIDCollectionEnabled = false
를 설정합니다.
맞춤 이벤트를 로깅하려면 이벤트 이름을 AppEvents.Name
으로 전달하세요.
AppEvents.shared.logEvent(AppEvents.Name("battledAnOrc"))
Facebook에서는 표준 이벤트 또는 맞춤 이벤트를 포함하는 데 유용한 이벤트 매개변수 세트를 만들었습니다. 개발자가 직접 매개변수를 제공할 수도 있습니다.
이와 같이 미리 정의된 매개변수는 공통적인 로깅 패턴에 대한 지침을 제공하며 보고서와 기타 UI에서 더욱 읽기 쉽게 표시될 수 있습니다. 분석 데이터를 보고 싶은 매개변수 세트를 로깅하세요. 이러한 매개변수에 대한 권장 설명은 지침용으로만 제공됩니다. 이러한 매개변수를 앱에 적절한 용도로 사용할 수 있습니다.
매개변수는 사전을 통해 전달되며, 여기서 키는 매개변수 이름을 AppEvents.ParameterName
으로 유지하고 값은 String
또는 숫자(예: Int
, Double
)여야 합니다.
앱 광고 지원 도구를 사용하면 앱이 Facebook에 이벤트를 보내도록 앱에서 앱 이벤트를 테스트할 수 있습니다.
SKAdNetwork 캠페인에서 이벤트를 최적화/추적할 계획이라면 이벤트 우선순위(전환값이라고도 함)도 적절히 구성해야 Facebook이 전환을 올바르게 수신할 수 있습니다. 자세한 내용은 여기를 참조하세요.
앱 이벤트를 사용하는 방법을 더 쉽게 확인할 수 있도록 Facebook에서는 다양한 앱별 예시를 작성했습니다. 각 예시 앱에서는 수집할 수 있는 여러 다른 이벤트와 매개변수의 화면별 분석 데이터를 제공합니다. 각 섹션의 끝에는 각 앱의 권장 이벤트와 매개변수가 나열된 표가 있습니다. 필요에 따라 고유 이벤트와 매개변수를 만들 수 있습니다.