시작하기
BuzzAd iOS용 SDK에서 제공하는 지면을 연동하기 전 완료해야 하는 설정에 대해 알아보세요.
요구 사양
✅ 중요
- 요구 사양은 BuzzAd iOS용 SDK의 최신 상태를 기준으로 명시됩니다.
- 버즈빌은 안정적인 광고 플랫폼 및 개선된 수익화 기능의 탑재와 iOS와의 호환성을 위해 최신 버전으로 업데이트하는 것을 권장합니다.
- deployment target 11 이상
- Xcode 14 이상
연동용 ID 발급받기
BuzzAd iOS용 SDK를 연동하려면 반드시 연동하려는 앱의 고유 식별자(App ID)와 광고 지면의 고유 식별자(Unit ID)가 필요합니다. ID를 발급받으려면 버즈빌 담당자에게 연락하세요.
ID 유형 | 설명 |
---|---|
App ID | BuzzAd iOS용 SDK를 연동하는 앱별로 부여하는 고유 식별자입니다. |
Unit ID | BuzzAd iOS용 SDK를 통해 생성하는 지면별로 부여하는 고유 식별자입니다. |
포인트 적립 서버 연동하기
버즈빌이 공급하는 광고는 사용자에게 포인트를 지급하는 보상형 광고와 지급하지 않는 비보상형 광고로 분류됩니다.
- 비보상형 광고: 논리워드 광고라고도 합니다. 사용자가 광고에 참여해도 별도의 포인트를 지급할 필요가 없으므로 포인트 처리 서버를 연동하지 않아도 됩니다.
- 보상형 광고: 리워드 광고라고도 합니다. 사용자가 광고에 참여하면 포인트를 지급해야 하므로 클라이언트의 포인트 적립 요청을 처리할 수 있는 서버가 필요합니다.
보상형 광고의 포인트 적립 요청을 처리할 수 있는 자체 서버를 보유한 경우, 포스트백 연동 가이드를 참고해 포인트 처리 서버를 연동하세요.
SDK 설치하기
BuzzAd iOS용 SDK를 설치하려면 CocoaPods을 사용하여 Podfile
에 BuzzAd SDK를 추가하세요.
✏️ 참고
아래의 코드 스니펫은 최신 버전의 라이브러리를 기준으로 작성되었습니다.
pod 'BuzzAdBenefit', '= 3.45.13'
✏️ 참고
오프라인 빌드를 진행하는 경우, 버즈빌 담당자에게 오프라인 빌드에 필요한 프레임워크를 요청해야 합니다. 오프라인 빌드에 대한 자세한 내용은 오프라인 빌드 토픽을 참고하세요.
SDK 초기화하기
BuzzAd iOS용 SDK를 설치한 후 App ID, 사용자 프로필 등 필요한 정보를 추가해 SDK를 초기화하세요.
BuzzAd SDK 초기화하기
AppDelegate
의 application:didFinishLaunchingWithOptions
에서 [BuzzAdBenefit initializeWithConfig:]
를 호출해 BuzzAd iOS용 SDK를 초기화하세요.
- Swift
- Objective C
import BuzzAdBenefit
@main
final class AppDelegateSwift: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
let config = BZVConfig { builder in
builder.appId = "YOUR_APP_ID"
}
BuzzAdBenefit.initialize(with: config)
return true
}
}
@import BuzzAdBenefit;
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
BZVConfig *config = [BZVConfig configWithBlock:^(BZVConfigBuilder * _Nonnull builder) {
builder.appId = @"YOUR_APP_ID";
}];
[BuzzAdBenefit initializeWithConfig:config];
return YES;
}
@end
다크 모드 설정하기
SDK를 초기화한 후에 [BuzzAdBenefit setUserInterfaceStyle:]
를 호출하여 BuzzAd iOS용 SDK의 다크 모드를 설정하세요. 아래의 표는 다는 모드 설정 옵션을 나열합니다.
다크 모드 설정 옵션 | 설명 |
---|---|
BZVUserInterfaceStyleLight | SDK의 다크 모드 설정 기본 값입니다. 시스템의 다크 모드 설정과 관계 없이 라이트 모드를 사용합니다. |
BZVUserInterfaceStyleDark | 시스템의 다크 모드 설정과 관계 없이 다크 모드를 사용합니다 |
BZVUserInterfaceStyleSystem | 시스템의 다크 모드 설정을 사용합니다. |
다음은 SDK가 시스템의 다크 모드 설정을 사용하도록 설정하는 예시입니다.
- Swift
- Objective C
import BuzzAdBenefit
@main
final class AppDelegateSwift: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
// ...생략...
BuzzAdBenefit.setUserInterfaceStyle(.system)
return true
}
}
@import BuzzAdBenefit;
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// ...생략...
[BuzzAdBenefit setUserInterfaceStyle:BZVUserInterfaceStyleSystem];
return YES;
}
@end
로그인 요청하기
광고 할당을 요청하려면 로그인을 요청해야 합니다. 로그인 요청을 구성하는 항목에 대해서는 아래 표를 참고하세요.
❗️❗️❗️ 중요 ❗️❗️❗️
성별과 출생연도 정보는 권장으로 표기되어 있으나 등록하지 않으면 타겟팅 광고 송출이 불가능합니다. 버즈빌의 광고는 타겟팅 광고가 대부분이기에 해당 정보를 등록해야 정상적인 광고 할당이 가능합니다.
필수/권장 | 사용자 프로필 | 설명 |
---|---|---|
필수 | userId | 유저별로 고유하게 생성하는 ID로, 개인정보 식별은 불가능한 값입니다 (로그인 ID, 이메일 사용 불가). 서비스 도중 변하지 않는 고정 값이며, 광고 할당을 위한 필수 정보입니다. ⚠️ 주의 ❗️❗️❗️ 앱을 삭제 후 재설치하여 사용자의 ID 값이 변경되거나 다른 사유로 인해 고정 ID를 사용하지 못하는 경우, 어뷰징 발생 가능성으로 인해 액션형 광고 송출이 불가능합니다. 사용자 고유 식별자가 변동되는 경우 버즈빌 사업 담당자에게 문의하세요. |
권장 | gender | 사용자의 성별입니다.
|
권장 | birthYear | 사용자의 출생연도입니다. |
권장 | showAppTrackingTransparencyDialog | 사용자의 활동 추적 권한 획득 팝업 노출 여부입니다. 필수가 아닌 권장 등록 정보입니다. 자세한 정보는 iOS 14를 위한 대응 토픽을 참고하세요. |
다음은 SDK에 사용자 프로필을 등록하는 예시입니다. 등록한 사용자 프로필은 삭제할 수도 있습니다.
- Swift
- Objective C
// 로그인을 요청하는 코드입니다.
BuzzAdBenefit.login { builder in
builder.userId = "USER_ID"
builder.gender = .male // 남성 사용자
builder.birthYear = YYYY
} onSuccess: {
} onFailure: { error in
}
// 로그인 상태를 확인하는 코드입니다.
BuzzAdBenefit.isLoggedIn()
// 로그아웃하는 코드입니다.
BuzzAdBenefit.logout()
// 로그인을 요청하는 코드입니다.
[BuzzAdBenefit loginWithBlock:^(BZVLoginRequestBuilder * _Nonnull builder) {
builder.userId = @"USER_ID";
builder.birthYear = YYYY;
builder.gender = BZVUserGenderMale; // 남성 사용자
} onSuccess:^{
} onFailure:^(NSError * _Nonnull error) {
}];
// 로그인 상태를 확인하는 코드입니다.
[BuzzAdBenefit isLoggedIn];
// 로그아웃하는 코드입니다.
[BuzzAdBenefit logout];
샘플 코드
Github 샘플 코드를 통해 실제 구현에 사용된 예제를 참고할 수 있습니다.
오류 코드
BuzzAd iOS용 SDK 메서드 호출 시 발생하는 오류 코드에 대한 정보를 확인하려면 문제 해결하기의 오류 코드가 나타납니다 토픽을 참고하세요.
자주 하는 질문
질문 | 답변 |
---|---|
iOS 14에 대응하기 위한 기능을 설정하고 싶습니다. | BuzzAd iOS용 SDK는 iOS 14 이상에서 사용자에게 활동 추적 권한 허용 팝업을 표시하는 기능과 설치형 광고에 대한 전환을 추적하기 위해 애플의 SKAdNetwork를 지원합니다. 자세한 내용은 iOS 14를 위한 대응 토픽을 참고하세요. |
문의 버튼을 추가해야 하는 이유가 궁금합니다. | 액션형 광고를 할당할 경우, 안정적인 서비스 운영을 위해 사용자의 문의 기능이 반드시 구현되어야 합니다. 자세한 내용은 액션형 광고의 사용자 문의 기능 추가 토픽을 참고하세요. |
사용자 기기가 Wi-Fi나 모바일 데이터로 인터넷에 연결되어 있을 때 동영상 광고가 자동으로 재생되도록 설정하고 싶습니다. | 동영상 광고를 자동으로 재생하는 조건을 변경할 수 있습니다. 자세한 내용은 동영상 광고 재생 조건 변경 토픽을 참고하세요. |
오프라인으로 BuzzAd iOS용 SDK를 연동하고 싶습니다. | 오프라인 빌드를 진행하려면 먼저 버즈빌에 제공하는 프레임워크를 준비하고 프로젝트에 프레임워크와 Run script를 추가해야 합니다. 자세한 내용은 오프라인 빌드 토픽을 참고하세요. |
광고를 WebView로 연결하고 싶습니다. | 커스텀 런처를 사용해 광고 랜딩 페이지를 인앱 브라우저로 열 수 있습니다. 자세한 내용은 커스텀 인앱 브라우저 토픽을 참고하세요. |
피드 또는 네이티브 지면의 광고 타입을 확인하고 싶습니다. | 광고 타입 확인하기를 참고하세요. |