クラス
Adrop
SDKのメインクラスです。SDKの初期化とグローバル設定を管理します。
静的メソッド
| メソッド | 戻り値の型 | 説明 |
|---|
initialize(production:useInAppBrowser:targetCountries:) | void | SDKの初期化 |
setUID(_:) | void | ユーザー識別子の設定 |
setTheme(_:) | void | アプリテーマの設定 |
handleDeepLink(url:) | Bool | ディープリンクの処理 |
openQuest(channel:path:) | void | Quest画面を開く |
静的プロパティ
| プロパティ | 型 | 説明 |
|---|
sdkVersion | String | SDKバージョン (読み取り専用) |
初期化メソッド
static func initialize(
production: Bool = false,
useInAppBrowser: Bool = true,
targetCountries: [String]? = nil
)
インアプリブラウザの使用有無。trueの場合、広告クリック時にアプリ内で開く
ターゲット国コード配列 (例: [“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)
ユーザーを識別するための一意のID (最大100文字)
使用例:
Adrop.setUID("user_12345")
テーマ設定
static func setTheme(_ theme: AdropTheme)
アプリテーマ (light, dark, auto)
使用例:
AdropBanner
バナー広告を表示するクラスです。UIViewを継承します。
初期化
Ad Controlコンソールで作成したバナー広告ユニットID
メソッド
| メソッド | 戻り値の型 | 説明 |
|---|
load() | void | 広告リクエストと読み込み |
プロパティ
| プロパティ | 型 | 説明 |
|---|
unitId | String | ユニットID (読み取り専用) |
contextId | String? | コンテキストターゲティングID (読み書き) |
creativeSize | CGSize? | 広告クリエイティブサイズ (読み取り専用) |
destinationURL | String? | 広告遷移先URL (読み取り専用) |
delegate | AdropBannerDelegate? | デリゲート (読み書き) |
使用例:
let banner = AdropBanner(unitId: "YOUR_UNIT_ID")
banner.contextId = "article_123"
banner.delegate = self
banner.load()
AdropNativeAd
ネイティブ広告データを管理するクラスです。
初期化
Ad Controlコンソールで作成したネイティブ広告ユニットID
メソッド
| メソッド | 戻り値の型 | 説明 |
|---|
load() | void | 広告リクエストと読み込み |
プロパティ
| プロパティ | 型 | 説明 |
|---|
headline | String? | 広告タイトル (読み取り専用) |
body | String? | 広告本文 (読み取り専用) |
callToAction | String? | CTAボタンテキスト (読み取り専用) |
asset | String? | メイン画像URL (読み取り専用) |
profile | AdropProfile? | 広告主プロフィール (読み取り専用) |
extra | [String: String]? | 追加テキストフィールド (読み取り専用) |
contextId | String? | コンテキストターゲティングID (読み書き) |
delegate | AdropNativeAdDelegate? | デリゲート (読み書き) |
使用例:
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
インタースティシャル広告を表示するクラスです。
初期化
Ad Controlコンソールで作成したインタースティシャル広告ユニットID
メソッド
| メソッド | 戻り値の型 | 説明 |
|---|
load() | void | 広告の事前読み込み |
show(fromRootViewController:) | void | 広告の表示 |
showメソッド
func show(fromRootViewController viewController: UIViewController)
プロパティ
| プロパティ | 型 | 説明 |
|---|
delegate | AdropInterstitialAdDelegate? | デリゲート (読み書き) |
isLoaded | Bool | 広告が読み込まれたかどうか (読み取り専用) |
contextId | String? | コンテキストターゲティングID (読み書き) |
使用例:
let interstitial = AdropInterstitialAd(unitId: "YOUR_UNIT_ID")
interstitial.delegate = self
interstitial.load()
// 広告読み込み後
if interstitial.isLoaded {
interstitial.show(fromRootViewController: self)
}
AdropRewardedAd
リワード広告を表示するクラスです。
初期化
Ad Controlコンソールで作成したリワード広告ユニットID
メソッド
| メソッド | 戻り値の型 | 説明 |
|---|
load() | void | 広告の事前読み込み |
show(fromRootViewController:userDidEarnRewardHandler:) | void | 広告の表示とリワードハンドラーの設定 |
showメソッド
func show(
fromRootViewController viewController: UIViewController,
userDidEarnRewardHandler: @escaping (_ type: Int, _ amount: Int) -> Void
)
userDidEarnRewardHandler
(_ type: Int, _ amount: Int) -> Void
必須
ユーザーがリワードを獲得したときに呼び出されるクロージャー。typeはリワードの種類、amountはAd Controlコンソールで設定したリワード数量です。
プロパティ
| プロパティ | 型 | 説明 |
|---|
delegate | AdropRewardedAdDelegate? | デリゲート (読み書き) |
isLoaded | Bool | 広告が読み込まれたかどうか (読み取り専用) |
contextId | String? | コンテキストターゲティング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)")
// リワード付与ロジック
}
}
ポップアップ広告を表示するクラスです。
初期化
Ad Controlコンソールで作成したポップアップ広告ユニットID
メソッド
| メソッド | 戻り値の型 | 説明 |
|---|
load() | void | 広告の事前読み込み |
show(fromRootViewController:) | void | 広告の表示 |
showメソッド
func show(fromRootViewController viewController: UIViewController)
プロパティ
| プロパティ | 型 | 説明 |
|---|
delegate | AdropPopupAdDelegate? | 広告イベントデリゲート (読み書き) |
closeDelegate | AdropPopupAdCloseDelegate? | 閉じるイベントデリゲート (読み書き) |
isLoaded | Bool | 広告が読み込まれたかどうか (読み取り専用) |
contextId | String? | コンテキストターゲティングID (読み書き) |
使用例:
let popupAd = AdropPopupAd(unitId: "YOUR_UNIT_ID")
popupAd.delegate = self
popupAd.closeDelegate = self
popupAd.load()
// 広告読み込み後
if popupAd.isLoaded {
popupAd.show(fromRootViewController: self)
}
AdropSplashAd
スプラッシュ広告を管理するクラスです。
初期化
Ad Controlコンソールで作成したスプラッシュ広告ユニットID
メソッド
| メソッド | 戻り値の型 | 説明 |
|---|
load() | void | 広告の事前読み込み |
AdropSplashAdViewController
スプラッシュ広告をフルスクリーンで表示するビューコントローラーです。
初期化
init(unitId: String, backgroundColor: UIColor? = nil)
Ad Controlコンソールで作成したスプラッシュ広告ユニットID
プロパティ
| プロパティ | 型 | 説明 |
|---|
delegate | AdropSplashAdDelegate? | デリゲート (読み書き) |
displayDuration | TimeInterval | 広告表示時間 (デフォルト: 5秒、読み書き) |
logoImage | UIImage? | 下部に表示するロゴ画像 (読み書き) |
使用例:
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を継承します。
初期化
Ad Controlコンソールで作成したスプラッシュ広告ユニットID
メソッド
| メソッド | 戻り値の型 | 説明 |
|---|
load() | void | 広告リクエストと読み込み |
プロパティ
| プロパティ | 型 | 説明 |
|---|
delegate | AdropSplashAdDelegate? | デリゲート (読み書き) |
AdropMetrics
ユーザープロパティとイベントを管理するクラスです。
静的メソッド
| メソッド | 戻り値の型 | 説明 |
|---|
setProperty(key:value:) | void | ユーザープロパティを設定 |
sendEvent(name:params:) | void | ユーザーイベントを送信 |
logEvent(name:params:) | void | 非推奨。 sendEventを使用してください。 |
ユーザープロパティの設定
static func setProperty(key: String, 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)
イベントパラメータディクショナリ。キーは最大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)
広告が閉じられたときに呼び出されます。
ポップアップ広告のライフサイクルイベントを処理するプロトコルです。
必須メソッド
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)
広告が閉じられたときに呼び出されます。
ポップアップ広告の閉じるイベントを処理するプロトコルです。
オプションメソッド
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
広告の読み込みおよび表示中に発生する可能性のあるエラーコードです。
| ケース | コード値 | 説明 |
|---|
ERROR_CODE_NETWORK | 1000 | ネットワークエラー |
ERROR_CODE_INTERNAL | 2000 | 内部エラー |
ERROR_CODE_INITIALIZE | 3000 | SDK初期化失敗 |
ERROR_CODE_INVALID_UNIT | 4000 | 無効なユニットID |
ERROR_CODE_NOT_TARGET_COUNTRY | 4010 | ターゲット国ではない |
ERROR_CODE_AD_INACTIVE | 4100 | アクティブキャンペーンなし |
ERROR_CODE_AD_NO_FILL | 4200 | 表示可能な広告なし |
ERROR_CODE_AD_LOAD_DUPLICATED | 5000 | 重複した広告読み込みリクエスト |
ERROR_CODE_AD_LOADING | 5001 | 広告読み込み中 |
ERROR_CODE_AD_EMPTY | 5002 | 広告が読み込まれていない |
ERROR_CODE_AD_SHOWN | 5003 | 広告がすでに表示されている |
ERROR_CODE_AD_HIDE_FOR_TODAY | 5100 | 「今日は表示しない」設定 |
ERROR_CODE_ACCOUNT_USAGE_LIMIT_EXCEEDED | 6000 | アカウント使用量制限超過 |
ERROR_CODE_LANDSCAPE_UNSUPPORTED | 7000 | 横向きモード非対応 |
ERROR_CODE_AD_BACKFILL_NO_FILL | 8000 | バックフィル広告なし |
エラーコード別説明
ネットワーク関連
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
アプリのテーマ設定を表す列挙型です。
| ケース | 説明 |
|---|
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を使用する必要があります。
追加リソース