메인 콘텐츠로 건너뛰기

GitHub 레포지토리

iOS SDK Example

iOS SDK 예제 프로젝트

예제 프로젝트 구조

SwiftUI, UIKit, Objective-C 세 가지 방식의 예제를 제공합니다.
adrop-ads-example-ios-swiftUI/ 폴더에서 확인할 수 있습니다.SwiftUI 기반의 선언적 UI로 광고를 구현하는 예제입니다.

예제 실행 방법

1

레포지토리 클론

git clone https://github.com/OpenRhapsody/adrop-ads-example-ios.git
cd adrop-ads-example-ios
2

의존성 설치

pod install
3

워크스페이스 열기

open adrop-ads-example-ios.xcworkspace
.xcodeproj가 아닌 .xcworkspace를 열어야 합니다.
4

실행

  1. 시뮬레이터 또는 실제 디바이스 선택
  2. Run (⌘R) 실행
예제 프로젝트는 테스트 유닛 ID를 사용하므로 별도의 설정 없이 바로 실행할 수 있습니다.

주요 예제 코드

배너 광고 (SwiftUI)

import SwiftUI
import AdropAds

struct BannerExample: View {
    var body: some View {
        AdropBannerView(unitId: "PUBLIC_TEST_UNIT_ID_320_50")
            .frame(width: 320, height: 50)
    }
}

전면 광고 (UIKit)

import UIKit
import AdropAds

class InterstitialViewController: UIViewController, AdropInterstitialAdDelegate {
    var interstitialAd: AdropInterstitialAd?

    override func viewDidLoad() {
        super.viewDidLoad()
        interstitialAd = AdropInterstitialAd(unitId: "PUBLIC_TEST_UNIT_ID_INTERSTITIAL")
        interstitialAd?.delegate = self
        interstitialAd?.load()
    }

    func onAdReceived(_ ad: AdropInterstitialAd) {
        if ad.isLoaded {
            ad.show(fromRootViewController: self)
        }
    }

    func onAdFailedToReceive(_ ad: AdropInterstitialAd, _ errorCode: AdropErrorCode) {
        print("Failed: \(errorCode)")
    }
}

전면 광고 (Objective-C)

@import AdropAds;

@interface InterstitialViewController () <AdropInterstitialAdDelegate>
@property (nonatomic, strong) AdropInterstitialAd *interstitialAd;
@end

@implementation InterstitialViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.interstitialAd = [[AdropInterstitialAd alloc] initWithUnitId:@"PUBLIC_TEST_UNIT_ID_INTERSTITIAL"];
    self.interstitialAd.delegate = self;
    [self.interstitialAd load];
}

- (void)onAdReceived:(AdropInterstitialAd *)ad {
    if (ad.isLoaded) {
        [ad showFromRootViewController:self];
    }
}

- (void)onAdFailedToReceive:(AdropInterstitialAd *)ad :(AdropErrorCode)errorCode {
    NSLog(@"Failed: %ld", (long)errorCode);
}

@end

사용자 이벤트 트래킹

import AdropAds

class EventTrackingExample {
    func trackEvents() {
        // 단순 이벤트 - 파라미터 없음
        AdropMetrics.sendEvent(name: "app_open")

        // 파라미터가 있는 이벤트
        AdropMetrics.sendEvent(name: "view_item", params: [
            "item_id": "SKU-123",
            "item_name": "Widget",
            "item_category": "Electronics",
            "price": 29.99
        ])

        // 다중 아이템 이벤트 (구매)
        AdropMetrics.sendEvent(name: "purchase", params: [
            "tx_id": "tx_123",
            "currency": "KRW",
            "items": [
                ["item_id": "A", "item_name": "Product A", "price": 100, "quantity": 1],
                ["item_id": "B", "item_name": "Product B", "price": 200, "quantity": 2]
            ]
        ])

        // 회원가입 이벤트
        AdropMetrics.sendEvent(name: "sign_up", params: [
            "method": "google"
        ])
    }
}

관련 문서