メインコンテンツへスキップ

クラス

Adrop

SDKのメインクラスです。SDKの初期化とグローバル設定を管理します。

静的メソッド

メソッド戻り値の型説明
initialize(production:useInAppBrowser:targetCountries:)voidSDKの初期化
setUID(_:)voidユーザー識別子の設定
setTheme(_:)voidアプリテーマの設定
handleDeepLink(url:)Boolディープリンクの処理
openQuest(channel:path:)voidQuest画面を開く

静的プロパティ

プロパティ説明
sdkVersionStringSDKバージョン (読み取り専用)

初期化メソッド

static func initialize(
    production: Bool = false,
    useInAppBrowser: Bool = true,
    targetCountries: [String]? = nil
)
production
Bool
デフォルト:"false"
プロダクションモード。デプロイ時にtrueに設定
useInAppBrowser
Bool
デフォルト:"true"
インアプリブラウザの使用有無。trueの場合、広告クリック時にアプリ内で開く
targetCountries
[String]?
デフォルト:"nil"
ターゲット国コード配列 (例: [“KR”, “US”])。nilの場合すべての国
使用例:
// AppDelegate.swift
func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
    Adrop.initialize(production: false)
    return true
}

ユーザー識別子の設定

static func setUID(_ uid: String)
uid
String
必須
ユーザーを識別するための一意のID (最大100文字)
使用例:
Adrop.setUID("user_12345")

テーマ設定

static func setTheme(_ theme: AdropTheme)
theme
AdropTheme
必須
アプリテーマ (light, dark, auto)
使用例:
Adrop.setTheme(.dark)

AdropBanner

バナー広告を表示するクラスです。UIViewを継承します。

初期化

init(unitId: String)
unitId
String
必須
Ad Controlコンソールで作成したバナー広告ユニットID

メソッド

メソッド戻り値の型説明
load()void広告リクエストと読み込み

プロパティ

プロパティ説明
unitIdStringユニットID (読み取り専用)
contextIdString?コンテキストターゲティングID (読み書き)
creativeSizeCGSize?広告クリエイティブサイズ (読み取り専用)
destinationURLString?広告遷移先URL (読み取り専用)
delegateAdropBannerDelegate?デリゲート (読み書き)
使用例:
let banner = AdropBanner(unitId: "YOUR_UNIT_ID")
banner.contextId = "article_123"
banner.delegate = self
banner.load()

AdropNativeAd

ネイティブ広告データを管理するクラスです。

初期化

init(unitId: String)
unitId
String
必須
Ad Controlコンソールで作成したネイティブ広告ユニットID

メソッド

メソッド戻り値の型説明
load()void広告リクエストと読み込み

プロパティ

プロパティ説明
headlineString?広告タイトル (読み取り専用)
bodyString?広告本文 (読み取り専用)
callToActionString?CTAボタンテキスト (読み取り専用)
assetString?メイン画像URL (読み取り専用)
profileAdropProfile?広告主プロフィール (読み取り専用)
extra[String: String]?追加テキストフィールド (読み取り専用)
contextIdString?コンテキストターゲティングID (読み書き)
delegateAdropNativeAdDelegate?デリゲート (読み書き)
使用例:
let nativeAd = AdropNativeAd(unitId: "YOUR_UNIT_ID")
nativeAd.delegate = self
nativeAd.load()

// 広告読み込み後
titleLabel.text = nativeAd.headline
bodyLabel.text = nativeAd.body
ctaButton.setTitle(nativeAd.callToAction, for: .normal)

AdropInterstitialAd

インタースティシャル広告を表示するクラスです。

初期化

init(unitId: String)
unitId
String
必須
Ad Controlコンソールで作成したインタースティシャル広告ユニットID

メソッド

メソッド戻り値の型説明
load()void広告の事前読み込み
show(fromRootViewController:)void広告の表示
showメソッド
func show(fromRootViewController viewController: UIViewController)
viewController
UIViewController
必須
広告を表示するルートビューコントローラー

プロパティ

プロパティ説明
delegateAdropInterstitialAdDelegate?デリゲート (読み書き)
isLoadedBool広告が読み込まれたかどうか (読み取り専用)
contextIdString?コンテキストターゲティングID (読み書き)
使用例:
let interstitial = AdropInterstitialAd(unitId: "YOUR_UNIT_ID")
interstitial.delegate = self
interstitial.load()

// 広告読み込み後
if interstitial.isLoaded {
    interstitial.show(fromRootViewController: self)
}

AdropRewardedAd

リワード広告を表示するクラスです。

初期化

init(unitId: String)
unitId
String
必須
Ad Controlコンソールで作成したリワード広告ユニットID

メソッド

メソッド戻り値の型説明
load()void広告の事前読み込み
show(fromRootViewController:userDidEarnRewardHandler:)void広告の表示とリワードハンドラーの設定
showメソッド
func show(
    fromRootViewController viewController: UIViewController,
    userDidEarnRewardHandler: @escaping (_ type: Int, _ amount: Int) -> Void
)
viewController
UIViewController
必須
広告を表示するルートビューコントローラー
userDidEarnRewardHandler
(_ type: Int, _ amount: Int) -> Void
必須
ユーザーがリワードを獲得したときに呼び出されるクロージャー。typeはリワードの種類、amountはAd Controlコンソールで設定したリワード数量です。

プロパティ

プロパティ説明
delegateAdropRewardedAdDelegate?デリゲート (読み書き)
isLoadedBool広告が読み込まれたかどうか (読み取り専用)
contextIdString?コンテキストターゲティングID (読み書き)
使用例:
let rewardedAd = AdropRewardedAd(unitId: "YOUR_UNIT_ID")
rewardedAd.delegate = self
rewardedAd.load()

// 広告読み込み後
if rewardedAd.isLoaded {
    rewardedAd.show(fromRootViewController: self) { type, amount in
        print("ユーザーがリワードを獲得しました! type: \(type), amount: \(amount)")
        // リワード付与ロジック
    }
}

AdropPopupAd

ポップアップ広告を表示するクラスです。

初期化

init(unitId: String)
unitId
String
必須
Ad Controlコンソールで作成したポップアップ広告ユニットID

メソッド

メソッド戻り値の型説明
load()void広告の事前読み込み
show(fromRootViewController:)void広告の表示
showメソッド
func show(fromRootViewController viewController: UIViewController)
viewController
UIViewController
必須
広告を表示するルートビューコントローラー

プロパティ

プロパティ説明
delegateAdropPopupAdDelegate?広告イベントデリゲート (読み書き)
closeDelegateAdropPopupAdCloseDelegate?閉じるイベントデリゲート (読み書き)
isLoadedBool広告が読み込まれたかどうか (読み取り専用)
contextIdString?コンテキストターゲティングID (読み書き)
使用例:
let popupAd = AdropPopupAd(unitId: "YOUR_UNIT_ID")
popupAd.delegate = self
popupAd.closeDelegate = self
popupAd.load()

// 広告読み込み後
if popupAd.isLoaded {
    popupAd.show(fromRootViewController: self)
}

AdropSplashAd

スプラッシュ広告を管理するクラスです。

初期化

init(unitId: String)
unitId
String
必須
Ad Controlコンソールで作成したスプラッシュ広告ユニットID

メソッド

メソッド戻り値の型説明
load()void広告の事前読み込み

AdropSplashAdViewController

スプラッシュ広告をフルスクリーンで表示するビューコントローラーです。

初期化

init(unitId: String, backgroundColor: UIColor? = nil)
unitId
String
必須
Ad Controlコンソールで作成したスプラッシュ広告ユニットID
backgroundColor
UIColor?
デフォルト:"nil"
背景色

プロパティ

プロパティ説明
delegateAdropSplashAdDelegate?デリゲート (読み書き)
displayDurationTimeInterval広告表示時間 (デフォルト: 5秒、読み書き)
logoImageUIImage?下部に表示するロゴ画像 (読み書き)
使用例:
let splashVC = AdropSplashAdViewController(unitId: "YOUR_UNIT_ID")
splashVC.delegate = self
splashVC.displayDuration = 3.0  // 3秒間表示
splashVC.logoImage = UIImage(named: "app_logo")  // ロゴ画像の設定
splashVC.modalPresentationStyle = .fullScreen
present(splashVC, animated: false)

AdropSplashAdView

スプラッシュ広告を表示するビューです。UIViewを継承します。

初期化

init(unitId: String)
unitId
String
必須
Ad Controlコンソールで作成したスプラッシュ広告ユニットID

メソッド

メソッド戻り値の型説明
load()void広告リクエストと読み込み

プロパティ

プロパティ説明
delegateAdropSplashAdDelegate?デリゲート (読み書き)

AdropMetrics

ユーザープロパティとイベントを管理するクラスです。

静的メソッド

メソッド戻り値の型説明
setProperty(key:value:)voidユーザープロパティを設定
sendEvent(name:params:)voidユーザーイベントを送信
logEvent(name:params:)void非推奨。 sendEventを使用してください。

ユーザープロパティの設定

static func setProperty(key: String, value: Any)
key
String
必須
プロパティキー (最大40文字)
value
Any
必須
プロパティ値 (String, Int, Double, Bool対応)
使用例:
AdropMetrics.setProperty(key: "age", value: 25)
AdropMetrics.setProperty(key: "gender", value: "male")
AdropMetrics.setProperty(key: "isPremium", value: true)

イベント送信

static func sendEvent(name: String, params: [String: Any]? = nil)
name
String
必須
イベント名 (1–64文字)
params
[String: Any]?
イベントパラメータディクショナリ。キーは最大64文字、文字列値は最大1024文字です。
使用例:
// シンプルなイベント
AdropMetrics.sendEvent(name: "app_open")

// パラメータ付きイベント
AdropMetrics.sendEvent(name: "view_item", params: [
    "item_id": "SKU-123",
    "item_name": "Widget",
    "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]
    ]
])
logEvent()は非推奨であり、将来のバージョンで削除されます。sendEvent()を使用してください。
  • イベント名は1–64文字である必要があります。
  • 同じ名前とパラメータを持つ重複イベントは500ms以内の送信が制限されます。
  • sendEvent()を呼び出す前にSDKが初期化されている必要があります。

イベントロギング (非推奨)

@available(*, deprecated, renamed: "sendEvent(name:params:)")
static func logEvent(name: String, params: [String: Encodable]? = [:])
このメソッドは非推奨です。sendEvent(name:params:)を使用してください。

プロトコル (Delegates)

AdropBannerDelegate

バナー広告のライフサイクルイベントを処理するプロトコルです。

必須メソッド

func onAdReceived(_ banner: AdropBanner)
広告受信成功時に呼び出されます。
func onAdFailedToReceive(_ banner: AdropBanner, _ errorCode: AdropErrorCode)
広告受信失敗時に呼び出されます。

オプションメソッド

optional func onAdImpression(_ banner: AdropBanner)
広告が画面に表示されたときに呼び出されます。
optional func onAdClicked(_ banner: AdropBanner)
ユーザーが広告をクリックしたときに呼び出されます。 実装例:
extension ViewController: AdropBannerDelegate {
    func onAdReceived(_ banner: AdropBanner) {
        print("バナー広告受信")
    }

    func onAdFailedToReceive(_ banner: AdropBanner, _ errorCode: AdropErrorCode) {
        print("バナー広告失敗: \(errorCode)")
    }

    func onAdImpression(_ banner: AdropBanner) {
        print("バナー広告インプレッション")
    }

    func onAdClicked(_ banner: AdropBanner) {
        print("バナー広告クリック")
    }
}

AdropNativeAdDelegate

ネイティブ広告のライフサイクルイベントを処理するプロトコルです。

必須メソッド

func onAdReceived(_ nativeAd: AdropNativeAd)
広告受信成功時に呼び出されます。
func onAdFailedToReceive(_ nativeAd: AdropNativeAd, _ errorCode: AdropErrorCode)
広告受信失敗時に呼び出されます。

オプションメソッド

optional func onAdImpression(_ nativeAd: AdropNativeAd)
広告が画面に表示されたときに呼び出されます。
optional func onAdClicked(_ nativeAd: AdropNativeAd)
ユーザーが広告をクリックしたときに呼び出されます。

AdropInterstitialAdDelegate

インタースティシャル広告のライフサイクルイベントを処理するプロトコルです。

必須メソッド

func onAdReceived(_ ad: AdropInterstitialAd)
広告受信成功時に呼び出されます。
func onAdFailedToReceive(_ ad: AdropInterstitialAd, _ errorCode: AdropErrorCode)
広告受信失敗時に呼び出されます。
func onAdFailedToShowFullScreen(_ ad: AdropInterstitialAd, _ errorCode: AdropErrorCode)
広告表示失敗時に呼び出されます。

オプションメソッド

optional func onAdImpression(_ ad: AdropInterstitialAd)
広告が画面に表示されたときに呼び出されます。
optional func onAdClicked(_ ad: AdropInterstitialAd)
ユーザーが広告をクリックしたときに呼び出されます。
optional func onAdDidDismissFullScreen(_ ad: AdropInterstitialAd)
広告が閉じられたときに呼び出されます。

AdropRewardedAdDelegate

リワード広告のライフサイクルイベントを処理するプロトコルです。

必須メソッド

func onAdReceived(_ ad: AdropRewardedAd)
広告受信成功時に呼び出されます。
func onAdFailedToReceive(_ ad: AdropRewardedAd, _ errorCode: AdropErrorCode)
広告受信失敗時に呼び出されます。
func onAdFailedToShowFullScreen(_ ad: AdropRewardedAd, _ errorCode: AdropErrorCode)
広告表示失敗時に呼び出されます。

オプションメソッド

optional func onAdImpression(_ ad: AdropRewardedAd)
広告が画面に表示されたときに呼び出されます。
optional func onAdClicked(_ ad: AdropRewardedAd)
ユーザーが広告をクリックしたときに呼び出されます。
optional func onAdDidDismissFullScreen(_ ad: AdropRewardedAd)
広告が閉じられたときに呼び出されます。

AdropPopupAdDelegate

ポップアップ広告のライフサイクルイベントを処理するプロトコルです。

必須メソッド

func onAdReceived(_ ad: AdropPopupAd)
広告受信成功時に呼び出されます。
func onAdFailedToReceive(_ ad: AdropPopupAd, _ errorCode: AdropErrorCode)
広告受信失敗時に呼び出されます。
func onAdFailedToShowFullScreen(_ ad: AdropPopupAd, _ errorCode: AdropErrorCode)
広告表示失敗時に呼び出されます。

オプションメソッド

optional func onAdImpression(_ ad: AdropPopupAd)
広告が画面に表示されたときに呼び出されます。
optional func onAdClicked(_ ad: AdropPopupAd)
ユーザーが広告をクリックしたときに呼び出されます。
optional func onAdDidDismissFullScreen(_ ad: AdropPopupAd)
広告が閉じられたときに呼び出されます。

AdropPopupAdCloseDelegate

ポップアップ広告の閉じるイベントを処理するプロトコルです。

オプションメソッド

optional func onTodayOffClicked(_ ad: AdropPopupAd)
ユーザーが「今日は表示しない」を選択したときに呼び出されます。
optional func onClosed(_ ad: AdropPopupAd)
ユーザーが広告を閉じたときに呼び出されます。

AdropSplashAdDelegate

スプラッシュ広告のライフサイクルイベントを処理するプロトコルです。

必須メソッド

func onAdReceived(_ ad: AdropSplashAd)
広告受信成功時に呼び出されます。
func onAdFailedToReceive(_ ad: AdropSplashAd, _ errorCode: AdropErrorCode)
広告受信失敗時に呼び出されます。

オプションメソッド

optional func onAdImpression(_ ad: AdropSplashAd)
広告が画面に表示されたときに呼び出されます。
optional func onAdClicked(_ ad: AdropSplashAd)
ユーザーが広告をクリックしたときに呼び出されます。

列挙型 (Enums)

AdropErrorCode

広告の読み込みおよび表示中に発生する可能性のあるエラーコードです。
enum AdropErrorCode: Int
ケースコード値説明
ERROR_CODE_NETWORK1000ネットワークエラー
ERROR_CODE_INTERNAL2000内部エラー
ERROR_CODE_INITIALIZE3000SDK初期化失敗
ERROR_CODE_INVALID_UNIT4000無効なユニットID
ERROR_CODE_NOT_TARGET_COUNTRY4010ターゲット国ではない
ERROR_CODE_AD_INACTIVE4100アクティブキャンペーンなし
ERROR_CODE_AD_NO_FILL4200表示可能な広告なし
ERROR_CODE_AD_LOAD_DUPLICATED5000重複した広告読み込みリクエスト
ERROR_CODE_AD_LOADING5001広告読み込み中
ERROR_CODE_AD_EMPTY5002広告が読み込まれていない
ERROR_CODE_AD_SHOWN5003広告がすでに表示されている
ERROR_CODE_AD_HIDE_FOR_TODAY5100「今日は表示しない」設定
ERROR_CODE_ACCOUNT_USAGE_LIMIT_EXCEEDED6000アカウント使用量制限超過
ERROR_CODE_LANDSCAPE_UNSUPPORTED7000横向きモード非対応
ERROR_CODE_AD_BACKFILL_NO_FILL8000バックフィル広告なし

エラーコード別説明

ネットワーク関連
  • ERROR_CODE_NETWORK: ネットワーク接続エラーが発生しました。インターネット接続を確認してください。
初期化関連
  • ERROR_CODE_INITIALIZE: SDKが初期化されていません。Adrop.initialize()を先に呼び出してください。
ユニット関連
  • ERROR_CODE_INVALID_UNIT: 無効なユニットIDです。コンソールで確認してください。
  • ERROR_CODE_NOT_TARGET_COUNTRY: 現在のユーザーの国がターゲット国ではありません。
広告関連
  • ERROR_CODE_AD_INACTIVE: 該当ユニットに有効化されたキャンペーンがありません。
  • ERROR_CODE_AD_NO_FILL: 現在表示可能な広告がありません。
  • ERROR_CODE_AD_BACKFILL_NO_FILL: バックフィル広告もありません。
広告状態関連
  • ERROR_CODE_AD_LOAD_DUPLICATED: すでに広告を読み込み中です。
  • ERROR_CODE_AD_LOADING: 広告がまだ読み込み中です。
  • ERROR_CODE_AD_EMPTY: 広告を表示する前に読み込む必要があります。
  • ERROR_CODE_AD_SHOWN: 広告はすでに表示されています。新しい広告を読み込んでください。
  • ERROR_CODE_AD_HIDE_FOR_TODAY: ユーザーが「今日は表示しない」を選択しました。
その他
  • ERROR_CODE_INTERNAL: 内部エラーが発生しました。
  • ERROR_CODE_ACCOUNT_USAGE_LIMIT_EXCEEDED: アカウントの広告使用量制限を超過しました。
  • ERROR_CODE_LANDSCAPE_UNSUPPORTED: この広告は横向きモードをサポートしていません。
使用例:
func onAdFailedToReceive(_ banner: AdropBanner, _ errorCode: AdropErrorCode) {
    switch errorCode {
    case .ERROR_CODE_NETWORK:
        print("ネットワークエラー: 接続を確認してください")
    case .ERROR_CODE_AD_NO_FILL:
        print("表示可能な広告がありません")
    case .ERROR_CODE_INVALID_UNIT:
        print("無効なユニットIDです")
    default:
        print("広告読み込み失敗: \(errorCode.rawValue)")
    }
}

AdropTheme

アプリのテーマ設定を表す列挙型です。
enum AdropTheme
ケース説明
lightライトモード
darkダークモード
autoシステム設定に従う (デフォルト)
使用例:
// ライトモードの設定
Adrop.setTheme(.light)

// ダークモードの設定
Adrop.setTheme(.dark)

// システム設定に従う
Adrop.setTheme(.auto)

構造体と型

AdropProfile

広告主のプロフィール情報を含む構造体です。
struct AdropProfile {
    let displayLogo: String?    // 広告主ロゴURL
    let displayName: String?    // 広告主名
    let link: String?           // 広告主プロフィールリンク
}
使用例:
if let profile = nativeAd.profile {
    profileNameLabel.text = profile.displayName
    if let logoURL = profile.displayLogo {
        // ロゴ画像の読み込み
        loadImage(from: logoURL, into: profileImageView)
    }
}

定数

AdropUnitId

テスト用ユニットID定数です。
struct AdropUnitId {
    // バナー広告
    static let PUBLIC_TEST_UNIT_ID_320_50: String
    static let PUBLIC_TEST_UNIT_ID_320_100: String
    static let PUBLIC_TEST_UNIT_ID_CAROUSEL: String
    static let PUBLIC_TEST_UNIT_ID_BANNER_VIDEO_16_9: String
    static let PUBLIC_TEST_UNIT_ID_BANNER_VIDEO_9_16: String

    // ネイティブ広告
    static let PUBLIC_TEST_UNIT_ID_NATIVE_SMALL: String
    static let PUBLIC_TEST_UNIT_ID_NATIVE_MEDIUM: String
    static let PUBLIC_TEST_UNIT_ID_NATIVE_LARGE: String

    // インタースティシャル広告
    static let PUBLIC_TEST_UNIT_ID_INTERSTITIAL: String

    // リワード広告
    static let PUBLIC_TEST_UNIT_ID_REWARDED: String

    // ポップアップ広告
    static let PUBLIC_TEST_UNIT_ID_POPUP: String
    static let PUBLIC_TEST_UNIT_ID_POPUP_BOTTOM: String
    static let PUBLIC_TEST_UNIT_ID_POPUP_CENTER: String
    static let PUBLIC_TEST_UNIT_ID_POPUP_BOTTOM_VIDEO_9_16: String
    static let PUBLIC_TEST_UNIT_ID_POPUP_CENTER_VIDEO_9_16: String

    // スプラッシュ広告
    static let PUBLIC_TEST_UNIT_ID_SPLASH: String
}
使用例:
let banner = AdropBanner(unitId: AdropUnitId.PUBLIC_TEST_UNIT_ID_320_100)
let carouselBanner = AdropBanner(unitId: AdropUnitId.PUBLIC_TEST_UNIT_ID_CAROUSEL)
let nativeAd = AdropNativeAd(unitId: AdropUnitId.PUBLIC_TEST_UNIT_ID_NATIVE_SMALL)
let interstitial = AdropInterstitialAd(unitId: AdropUnitId.PUBLIC_TEST_UNIT_ID_INTERSTITIAL)
let popup = AdropPopupAd(unitId: AdropUnitId.PUBLIC_TEST_UNIT_ID_POPUP_CENTER)
テストユニットIDは開発環境でのみ使用してください。本番環境では必ずコンソールで作成した実際のユニットIDを使用する必要があります。

追加リソース