이 가이드에서는 Facebook SDK를 통합한 다음 이러한 이벤트를 로깅하여 새로운 앱이나 기존 앱에 앱 이벤트를 추가하는 방법을 설명합니다.
Facebook iOS SDK가 변경되었습니다. 새로운 Facebook iOS SDK 버전으로 업그레이드하는 것이 좋습니다. 이 변경 사항에 대한 자세한 내용은 기기 동의 섹션을 참조하세요.
앱 대시보드에서 내 앱을 클릭하고 앱이 없다면 새 앱을 만듭니다. 설정 > 기본에서 앱 ID, 앱 시크릿 코드 및 앱에 대한 기타 상세 정보가 있는 앱 상세 정보 패널을 확인합니다.
페이지 하단으로 스크롤한 다음, 플랫폼 추가를 클릭합니다. iOS를 선택하고 앱 상세 정보를 추가한 다음 변경 사항을 저장합니다.
다음 상세 정보를 추가해 광고에 맞게 앱을 설정하세요.
아이콘 또는 카테고리와 같은 자세한 정보를 앱에 추가하는 방법은 앱 개발 문서를 참조하세요.
광고를 게재하고 광고 관리자에서 설치를 측정하려면 하나 이상의 광고 계정과 하나의 비즈니스 포트폴리오를 앱과 연결합니다.
다음 절차에서는 Swift Package Manager를 사용하여 XCode에서 개발 환경을 설정합니다.
번들 식별자를 추가하고 앱의 SSO를 활성화합니다.
SSO iOS 알림에서 실행됩니다 |
Info.plist
파일을 구성하세요. After you integrate Facebook Login, certain App Events are automatically logged and collected for Events Manager, unless you disable Automatic App Event Logging. In particular, when launching an app in Korea, please note that Automatic App Event Logging can be disabled. For details about what information is collected and how to disable automatic app event logging, see Automatic App Event Logging.
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에서는 다양한 앱별 예시를 작성했습니다. 각 예시 앱에서는 수집할 수 있는 여러 다른 이벤트와 매개변수의 화면별 분석 데이터를 제공합니다. 각 섹션의 끝에는 각 앱의 권장 이벤트와 매개변수가 나열된 표가 있습니다. 필요에 따라 고유 이벤트와 매개변수를 만들 수 있습니다.