iOS

1

사전 준비사항

다음을 설치해주세요.

  • Xcode 14.1 혹은 그 이상의 버전

Adrop은 최소한 다음의 환경에서 동작합니다.

  • iOS 13 혹은 그 이상의 버전

  • Swift 5.0 혹은 그 이상의 버전

2

Adrop SDK 추가하기

2-1. CocoaPods

CocoaPods을 활용해 Adrop dependency를 설치하고 관리하세요. 아래는 CocoaPods을 활용해 Adrop을 설치하는 방법입니다.

  1. 기존의 Podfile이 없다면, 신규 Podfile을 만들어주세요. 프로젝트 디렉토리의 루트에서 아래 코드를 실행해주세요.

pod init
  1. Podfile에 대해 Adrop pod을 앱에 추가해주세요.

pod 'adrop-ads'
  1. Pod을 설치하고 .xcworkspace 파일을 열어 Xcode의 프로젝트를 확인하세요.

pod install --repo-update
open your-project.xcworkspace

2-2. SPM

  1. Xcode 에서 프로젝트를 엽니다.

  2. 프로젝트 네비게이터에서 프로젝트 파일을 선택합니다.

  3. 타겟을 선택합니다.

  4. “General” 탭 내 “Frameworks, Libraries, and Embeded Content” 에서 “+” 버튼을 클릭하여 새 패키지를 추가합니다.'

  5. “Add Package Dependency” 를 선택합니다.

  6. 패키지의 GitHub URL(https://github.com/OpenRhapsody/adrop-ads-pod)을 입력하고 “Add Package” 버튼을 클릭합니다.

3

Adrop 초기화(initialize)

  1. Adrop모듈을 UIApplicationDelegate에 Import해주세요.

import AdropAds
// ...:
  1. App delegate의 application(_:didFinishLaunchingWithOptions:) 메소드에서 Adrop 공유된 인스턴스를 초기화합니다.

  2. 앱의 사용 언어에 맞게 Adrop instance를 초기화해주세요.

// production 배포 시, 'true'를 사용하세요.
// 특정 국가에서 이 SDK를 사용하고 있다면, 
// ISO 3166 alpha-2 국가 코드 array를 전달하세요.
// 타겟 링크가 열리는 브라우저 설정이 필요하다면, useInAppBrowser 값을 바꿔주세요.
Adrop.initialize(production: false, targetCountries: [], useInAppBrowser: false)
// Theme 설정하기
Adrop.setTheme(.auto)
  1. Swift UI를 사용하는 경우, application delegate를 생성하고 이를 UIApplicationDelegateAdaptor 또는 NSApplicationDelegateAdaptor를 통해 앱 구조체(struct)에 연결할 수 있습니다.

@main
struct YourApp: App {
  // Adrop 설정을 위해 app delegate을 등록하세요.
  @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate

  var body: some Scene {
    WindowGroup {
      NavigationView {
        ContentView()
      }
    }
  }
}

4

Troubleshooting

# Add this line to your Podfile
use_frameworks!

# ...
post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|

        #...
        # Add this line to your Podfile
        config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
        end
    end
end
5

Error 처리

switch error {
  case .ERROR_CODE_AD_NO_FILL:
      print("현재 노출 가능한 팝업 광고가 없습니다")
  case .ERROR_CODE_NETWORK:
      print("네트워크 오류로 팝업 광고 로드 실패")
  case .ERROR_CODE_INVALID_UNIT:
      print("잘못된 유닛 ID입니다")
  default:
      print("광고 로드 실패: \(error)")
  }
}
6

BackFill 광고 구현

  • 애드컨트롤 콘솔에서 BackFill 설정이 된 유닛을 선택해 주세요.

    • 해당 유닛을 사용하면 간단하게 백필(BackFill) 광고 연동이 가능합니다.

  • Podfile에 adrop-ads-backfill을 추가해 주세요.

    pod 'adrop-ads', '~> 1.7.2'
    pod 'adrop-ads-backfill', '~> 1.7.2'
  • pod install 실행

pod install --repo-update

Last updated