# AdBrix SDK 초기화

AdBrix 콘솔에서 앱을 생성하고 AppKey·SecretKey를 확인한 뒤 Android/iOS 앱 SDK를 초기화하는 절차.

- 카테고리: AdBrix
- 소요 시간: 약 8분
- 난이도: 중간
- 업데이트: 2026.05.21
- 원문: /wiki/playbook/adbrix/how-to-initialize-adbrix-sdk

## 목차

- [이 문서의 목적](#purpose)
- [1단계 · 콘솔에서 앱 생성](#step-1)
- [2단계 · iOS SDK 적용](#step-2)
- [3단계 · Android SDK 적용](#step-3)
- [4단계 · 키 관리](#step-4)
- [참고 링크](#references)
- [자주 묻는 질문](#faq)

이 문서는 Android와 iOS 앱에 AdBrix V2 SDK를 설치하고 앱 실행 시 한 번 초기화하는 절차를 안내합니다. 이벤트 전송, 딥링크, WebView bridge는 SDK가 정상 초기화된 뒤 이어지는 후속 작업입니다.

> **이 문서 핵심**
>
> - 대상 SDK는 Android `com.igaworks.adbrix:android-sdk`, iOS `adbrix2.0`입니다.
>
> - AdBrix 콘솔에서 앱을 생성하고 AppKey와 SecretKey를 확인해야 합니다.
>
> - 완료 후 앱 실행 시 SDK 세션과 기본 이벤트가 AdBrix로 전송됩니다.

> **주의**
>
> **SecretKey는 외부에 노출하면 안 됩니다.** Git에 하드코딩하지 말고 iOS는 `xcconfig`, Android는 `local.properties`와 `BuildConfig`처럼 빌드 환경에서 주입하는 방식을 사용하세요.

## 1단계. AdBrix 콘솔에서 앱 생성

[AdBrix 콘솔](https://console.adbrix.ai/)에 로그인한 뒤앱 설정 → 앱 정보에서 새 앱을 생성합니다. WebView 앱이라도 Web 플랫폼이 아니라 Android/iOS 앱 SDK 기준으로 등록합니다.

![AdBrix 콘솔 로그인 화면.](/wiki-assets/playbook/how-to-initialize-adbrix-sdk/01-login.png)

> **화면 1.** AdBrix 콘솔 로그인.

![AdBrix 콘솔 앱 정보 초기 화면.](/wiki-assets/playbook/how-to-initialize-adbrix-sdk/02-welcome-empty.png)

> **화면 2.** 앱이 없는 초기 상태에서 새 앱 생성을 시작합니다.

![AdBrix 콘솔 앱 생성 1단계에서 iOS 플랫폼 정보가 입력된 화면.](/wiki-assets/playbook/how-to-initialize-adbrix-sdk/02-platform.png)

> **화면 3.** 앱 생성 시 Android 또는 iOS 플랫폼을 선택합니다.

![AdBrix 콘솔 앱 생성 2단계 앱 정보 입력 화면.](/wiki-assets/playbook/how-to-initialize-adbrix-sdk/03-app-info.png)

> **화면 4.** 앱 이름, 카테고리, 타임존, 앱 아이콘을 입력합니다.

![AdBrix 앱 상세 화면 상단에 Application Key와 Secret Key가 표시된 화면.](/wiki-assets/playbook/how-to-initialize-adbrix-sdk/04-app-keys.png)

> **화면 5.** 생성 후 AppKey와 SecretKey를 확인합니다.

## 2단계. iOS SDK 적용

iOS는 CocoaPods 또는 Swift Package Manager 중 프로젝트에 맞는 방식을 선택합니다. CocoaPods 기반 프로젝트라면 `Podfile`에 SDK를 추가한 뒤 `.xcworkspace`로 프로젝트를 열어야 합니다.

**Podfile**
```ruby
target 'YourAppTarget' do
  pod 'adbrix2.0'
end
```

Swift Package Manager를 사용하는 경우에는[IGAWorks AdBrix iOS SDK 저장소](https://github.com/IGAWorksDev/adbrix-ios-sdk)를 Xcode의 Package Dependencies에 추가합니다. 수동 설치가 필요하면[GitHub Releases](https://github.com/IGAWorksDev/adbrix-ios-sdk/releases)에서 `.xcframework`를 내려받습니다.

**Terminal**
```bash
pod install
```

앱 실행 시점에 한 번만 `sdkInit`을 호출합니다. ViewController 진입 시마다 호출하면 세션과 인스톨 이벤트 기준이 흐려질 수 있습니다.

**AppDelegate.swift**
```swift
import AdbrixSDK

@main
class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        Adbrix.shared().sdkInit(
            appkey: AppConfig.adbrixAppKey,
            secretKey: AppConfig.adbrixSecretKey
        )
        return true
    }
}
```

> **정보**
>
> SKAdNetwork 캠페인을 운영한다면 iOS `Info.plist`의 `NSAdvertisingAttributionReportEndpoint` 설정을 공식 iOS 연동 가이드 기준으로 확인합니다. IDFA 수집 가능 시점부터 이벤트를 담아야 하는 앱은 ATT 연동 후 `ABConfig.TRACKING_TIMEOUT` 설정을 함께 검토합니다.

## 3단계. Android SDK 적용

Android는 앱 모듈의 Gradle 의존성에 AdBrix SDK와 어트리뷰션에 필요한 보조 의존성을 함께 추가합니다.

**build.gradle.kts**
```kotlin
dependencies {
    implementation("com.igaworks.adbrix:android-sdk:3.0.10")
    implementation("com.android.installreferrer:installreferrer:2.2")
    implementation("com.google.android.gms:play-services-ads-identifier:18.0.1")
}
```

`AndroidManifest.xml`에는 서버 전송과 광고 ID 수집에 필요한 권한을 선언합니다.

**AndroidManifest.xml**
```xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.google.android.gms.permission.AD_ID" />
```

Application의 `onCreate`에서 앱 실행 시 한 번 초기화합니다.

**BaseApplication.kt**
```kotlin
class BaseApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        Adbrix.getInstance().init(this, APP_KEY, SECRET_KEY)
    }
}
```

GAID 수집과 디버그 로그를 명시적으로 켜야 하는 경우에는 `AdbrixConfig`를 함께 전달합니다.

**BaseApplication.kt · config**
```kotlin
val config = AdbrixConfig.Builder()
    .setCollectGoogleAdvertisingId(true)
    .setLogEnable(true)
    .setLogLevel(Log.DEBUG)
    .build()

Adbrix.getInstance().init(this, APP_KEY, SECRET_KEY, config)
```

> **정보**
>
> 릴리즈 빌드에서 ProGuard/R8을 사용한다면 AdBrix SDK, Google Ads Identifier, Install Referrer 관련 패키지가 난독화로 제거되지 않도록 공식 가이드의 keep rule을 적용합니다.

**proguard-rules.pro**
```proguard
-keep class com.igaworks.adbrix.** { *; }
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient { *; }
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$* { *; }
-keep public class com.android.installreferrer.** { *; }
```

## 4단계. 키 관리와 운영 기준 정리

AppKey는 앱을 식별하는 공개 키에 가깝지만, SecretKey는 서버 검증에 쓰이는 민감 값입니다. 운영 앱에서는 하드코딩 대신 빌드 설정으로 분리하고, Debug와 Release 환경의 값을 혼용하지 않도록 관리합니다.

> **팁**
>
> SDK 초기화가 끝나면 다음 단계는 [딥링크 설정](/wiki/playbook/adbrix/how-to-set-up-adbrix-deeplinks)또는 [이벤트 전송](/wiki/playbook/adbrix/how-to-send-adbrix-events)입니다. WebView 앱이라면[WebView 이벤트 연동](/wiki/playbook/adbrix/how-to-connect-adbrix-webview-events)도 함께 진행합니다.

## 참고 링크

- [AdBrix 콘솔](https://console.adbrix.ai/)
- [AdBrix 공식 개발자 가이드](https://adbrix.gitbook.io/developer-guide/)
- [AdBrix iOS 연동 가이드](https://adbrix.gitbook.io/developer-guide/platform/ios/integration)
- [AdBrix Android 연동 가이드](https://adbrix.gitbook.io/developer-guide/platform/android/integration)
- [AdBrix 헬프센터](https://help.adbrix.io/hc/ko)
- [AdBrix iOS SDK GitHub 저장소](https://github.com/IGAWorksDev/adbrix-ios-sdk)
- [AdBrix iOS SDK Releases](https://github.com/IGAWorksDev/adbrix-ios-sdk/releases)

## 자주 묻는 질문

### WebView 앱이면 AdBrix 콘솔에서 Web도 체크해야 하나요?

아니요. WebView 안에서 발생한 행동도 앱 SDK로 수집하므로 Android/iOS 앱으로 등록합니다.

### 초기화 코드는 어디에 두는 게 좋나요?

iOS는 AppDelegate 또는 SwiftUI App init, Android는 Application.onCreate처럼 앱 시작 시 한 번 실행되는 위치에 둡니다.

### AppKey나 SecretKey가 맞는데도 수집이 안 되면 무엇을 먼저 보나요?

공백 포함 여부, 숫자 0과 영문 o 혼동, Debug/Release 환경 키 혼용을 먼저 확인합니다. 가능하면 콘솔에서 값을 직접 복사해 사용합니다.

## Navigation

- [전체 플레이북 Markdown sitemap](/wiki/playbook/sitemap.md)

### AdBrix

- [AdBrix](/wiki/playbook/adbrix)
- [AdBrix SDK 초기화](/wiki/playbook/adbrix/how-to-initialize-adbrix-sdk) (현재 문서)
- [AdBrix 딥링크 설정](/wiki/playbook/adbrix/how-to-set-up-adbrix-deeplinks)
- [AdBrix WebView 이벤트 연동](/wiki/playbook/adbrix/how-to-connect-adbrix-webview-events)
- [AdBrix 이벤트 전송](/wiki/playbook/adbrix/how-to-send-adbrix-events)
- [AdBrix 연동 검증](/wiki/playbook/adbrix/how-to-verify-adbrix-integration)
