Adrop
Adrop SDKのメインクラスです。SDKの初期化とグローバル設定を担当します。
静的メソッド
| メソッド | 説明 |
|---|
initialize(bool production, {List<String>? targetCountries, bool? useInAppBrowser}) | SDKを初期化します |
setUID(String uid) | ユーザー識別子を設定します(SHA-256でハッシュ化) |
setTheme(AdropTheme theme) | 広告テーマを設定します |
使用例
import 'package:adrop_ads_flutter/adrop_ads_flutter.dart';
// 基本初期化(テストモード)
await Adrop.initialize(false);
// プロダクションモード + ターゲット国設定
await Adrop.initialize(
true,
targetCountries: ['KR', 'JP', 'US'],
);
// ユーザーID設定
await Adrop.setUID('user123');
// テーマ設定
await Adrop.setTheme(AdropTheme.dark);
AdropTheme
広告のダークモード設定用の列挙型です。
| 値 | 説明 |
|---|
light | ライトモード |
dark | ダークモード |
auto | システム設定に自動追従(デフォルト) |
使用例
await Adrop.setTheme(AdropTheme.dark);
AdropErrorCode
広告の読み込みと表示時に発生する可能性のあるエラーコードです。
| エラーコード | コード文字列 | 説明 |
|---|
network | ERROR_CODE_NETWORK | ネットワークエラー |
internal | ERROR_CODE_INTERNAL | 内部エラー |
initialize | ERROR_CODE_INITIALIZE | SDK初期化エラー |
invalidUnit | ERROR_CODE_INVALID_UNIT | 無効な広告ユニットID |
notTargetCountry | ERROR_CODE_NOT_TARGET_COUNTRY | ターゲット国ではない |
inactive | ERROR_CODE_AD_INACTIVE | 無効化された広告 |
adNoFill | ERROR_CODE_AD_NO_FILL | 表示可能な広告がない |
adLoadDuplicate | ERROR_CODE_AD_LOAD_DUPLICATED | 重複した広告読み込みリクエスト |
adLoading | ERROR_CODE_AD_LOADING | 広告読み込み中 |
adEmpty | ERROR_CODE_AD_EMPTY | 広告が空 |
adShown | ERROR_CODE_AD_SHOWN | 広告がすでに表示されている |
adHideForToday | ERROR_CODE_AD_HIDE_FOR_TODAY | 今日は表示しない設定 |
accountUsageLimitExceeded | ERROR_CODE_ACCOUNT_USAGE_LIMIT_EXCEEDED | アカウント使用制限超過 |
adLandscapeUnsupported | ERROR_CODE_LANDSCAPE_UNSUPPORTED | 横向きモード非対応 |
backfillNoFill | ERROR_CODE_AD_BACKFILL_NO_FILL | バックフィル広告もなし |
undefined | UNDEFINED | 未定義のエラー |
プロパティ
| プロパティ | 型 | 説明 |
|---|
code | String | エラーコード文字列 |
ファクトリーメソッド
| メソッド | 説明 |
|---|
AdropErrorCode.getByCode(String code) | コード文字列でエラーコードを取得 |
AdropBannerView
バナー広告を表示するウィジェットクラスです。
コンストラクタ
AdropBannerView({
required String unitId,
AdropBannerListener? listener,
})
プロパティ
| プロパティ | 型 | 説明 |
|---|
creativeSize | CreativeSize? | クリエイティブサイズ |
adSize | Size? | バナービューサイズ設定 |
メソッド
| メソッド | 戻り値の型 | 説明 |
|---|
load() | Future<void> | 広告を読み込む |
dispose() | Future<void> | リソースを解放 |
使用例
late AdropBannerView bannerView;
@override
void initState() {
super.initState();
bannerView = AdropBannerView(
unitId: 'YOUR_UNIT_ID',
listener: AdropBannerListener(
onAdReceived: (unitId, metadata) {
setState(() => isLoaded = true);
},
onAdFailedToReceive: (unitId, errorCode) {
debugPrint('エラー: ${errorCode.code}');
},
),
);
bannerView.load();
}
@override
void dispose() {
bannerView.dispose();
super.dispose();
}
AdropBannerListener
バナー広告イベントを処理するリスナークラスです。
コンストラクタ
AdropBannerListener({
void Function(String unitId, Map<String, dynamic>? metadata)? onAdReceived,
void Function(String unitId, Map<String, dynamic>? metadata)? onAdClicked,
void Function(String unitId, Map<String, dynamic>? metadata)? onAdImpression,
void Function(String unitId, AdropErrorCode errorCode)? onAdFailedToReceive,
})
コールバック
| コールバック | パラメータ | 説明 |
|---|
onAdReceived | unitId, metadata | 広告受信成功 |
onAdClicked | unitId, metadata | 広告クリック |
onAdImpression | unitId, metadata | 広告表示 |
onAdFailedToReceive | unitId, errorCode | 広告受信失敗 |
メタデータフィールド
| フィールド | 型 | 説明 |
|---|
creativeId | String | クリエイティブID |
txId | String | トランザクションID |
campaignId | String | キャンペーンID |
destinationURL | String | 遷移先URL |
creativeSizeWidth | double | クリエイティブ幅 |
creativeSizeHeight | double | クリエイティブ高さ |
AdropNativeAd
ネイティブ広告をリクエストするクラスです。
コンストラクタ
AdropNativeAd({
required String unitId,
bool useCustomClick = false,
AdropNativeListener? listener,
})
プロパティ
| プロパティ | 型 | 説明 |
|---|
isLoaded | bool | 広告読み込み完了の有無 |
unitId | String | 広告ユニットID |
creativeId | String | クリエイティブID |
txId | String | トランザクションID |
campaignId | String | キャンペーンID |
destinationURL | String | 遷移先URL |
properties | AdropNativeProperties | ネイティブ広告プロパティ |
creativeSize | CreativeSize | クリエイティブサイズ |
isBackfilled | bool | バックフィル広告かどうか |
メソッド
| メソッド | 戻り値の型 | 説明 |
|---|
load() | Future<void> | 広告を読み込む |
使用例
final nativeAd = AdropNativeAd(
unitId: 'YOUR_UNIT_ID',
useCustomClick: true,
listener: AdropNativeListener(
onAdReceived: (ad) {
debugPrint('広告受信: ${ad.creativeId}');
},
onAdFailedToReceive: (ad, errorCode) {
debugPrint('エラー: ${errorCode.code}');
},
),
);
await nativeAd.load();
AdropNativeAdView
ネイティブ広告を画面に表示するウィジェットです。
コンストラクタ
AdropNativeAdView({
required AdropNativeAd? ad,
required Widget child,
})
使用例
AdropNativeAdView(
ad: nativeAd,
child: Container(
child: Column(
children: [
Text(nativeAd?.properties.headline ?? ''),
Text(nativeAd?.properties.body ?? ''),
],
),
),
)
AdropNativeListener
ネイティブ広告イベントを処理するリスナークラスです。
コンストラクタ
AdropNativeListener({
void Function(AdropNativeAd ad)? onAdReceived,
void Function(AdropNativeAd ad)? onAdClicked,
void Function(AdropNativeAd ad)? onAdImpression,
void Function(AdropNativeAd ad, AdropErrorCode errorCode)? onAdFailedToReceive,
})
コールバック
| コールバック | パラメータ | 説明 |
|---|
onAdReceived | ad | 広告受信成功 |
onAdClicked | ad | 広告クリック |
onAdImpression | ad | 広告表示 |
onAdFailedToReceive | ad, errorCode | 広告受信失敗 |
AdropNativeProperties
ネイティブ広告のコンテンツプロパティです。
プロパティ
| プロパティ | 型 | 説明 |
|---|
headline | String? | 広告タイトル |
body | String? | 広告本文 |
creative | String? | HTMLクリエイティブコンテンツ |
asset | String? | 画像アセットURL |
destinationURL | String? | クリック時の遷移先URL |
callToAction | String? | CTAボタンテキスト |
profile | AdropNativeProfile? | 広告主プロフィール情報 |
extra | Map<String, String> | 追加カスタムフィールド |
isBackfilled | bool | バックフィル広告かどうか |
AdropNativeProfile
ネイティブ広告のプロフィール情報です。
プロパティ
| プロパティ | 型 | 説明 |
|---|
displayName | String? | 広告主名 |
displayLogo | String? | 広告主ロゴ画像URL |
AdropInterstitialAd
インタースティシャル広告を表示するクラスです。
コンストラクタ
AdropInterstitialAd({
required String unitId,
AdropInterstitialListener? listener,
})
プロパティ
| プロパティ | 型 | 説明 |
|---|
isLoaded | bool | 広告読み込み完了の有無 |
unitId | String | 広告ユニットID |
creativeId | String | クリエイティブID |
txId | String | トランザクションID |
campaignId | String | キャンペーンID |
destinationURL | String | 遷移先URL |
メソッド
| メソッド | 戻り値の型 | 説明 |
|---|
load() | Future<void> | 広告を読み込む |
show() | Future<void> | 広告を表示 |
dispose() | Future<void> | リソースを解放 |
使用例
final interstitialAd = AdropInterstitialAd(
unitId: 'YOUR_UNIT_ID',
listener: AdropInterstitialListener(
onAdReceived: (ad) {
ad.show();
},
onAdFailedToReceive: (ad, errorCode) {
debugPrint('エラー: ${errorCode.code}');
},
onAdDidDismissFullScreen: (ad) {
debugPrint('広告が閉じられました');
},
),
);
await interstitialAd.load();
AdropInterstitialListener
インタースティシャル広告イベントを処理するリスナークラスです。
コンストラクタ
AdropInterstitialListener({
void Function(AdropAd ad)? onAdReceived,
void Function(AdropAd ad)? onAdClicked,
void Function(AdropAd ad)? onAdImpression,
void Function(AdropAd ad)? onAdWillPresentFullScreen,
void Function(AdropAd ad)? onAdDidPresentFullScreen,
void Function(AdropAd ad)? onAdWillDismissFullScreen,
void Function(AdropAd ad)? onAdDidDismissFullScreen,
void Function(AdropAd ad, AdropErrorCode errorCode)? onAdFailedToReceive,
void Function(AdropAd ad, AdropErrorCode errorCode)? onAdFailedToShowFullScreen,
})
コールバック
| コールバック | 説明 |
|---|
onAdReceived | 広告受信成功 |
onAdClicked | 広告クリック |
onAdImpression | 広告表示 |
onAdWillPresentFullScreen | 広告表示開始(iOS専用) |
onAdDidPresentFullScreen | 広告表示完了 |
onAdWillDismissFullScreen | 広告を閉じる開始(iOS専用) |
onAdDidDismissFullScreen | 広告を閉じる完了 |
onAdFailedToReceive | 広告受信失敗 |
onAdFailedToShowFullScreen | 広告表示失敗 |
AdropRewardedAd
リワード広告を表示するクラスです。
コンストラクタ
AdropRewardedAd({
required String unitId,
AdropRewardedListener? listener,
})
プロパティ
| プロパティ | 型 | 説明 |
|---|
isLoaded | bool | 広告読み込み完了の有無 |
unitId | String | 広告ユニットID |
creativeId | String | クリエイティブID |
txId | String | トランザクションID |
campaignId | String | キャンペーンID |
destinationURL | String | 遷移先URL |
メソッド
| メソッド | 戻り値の型 | 説明 |
|---|
load() | Future<void> | 広告を読み込む |
show() | Future<void> | 広告を表示 |
dispose() | Future<void> | リソースを解放 |
使用例
final rewardedAd = AdropRewardedAd(
unitId: 'YOUR_UNIT_ID',
listener: AdropRewardedListener(
onAdReceived: (ad) {
ad.show();
},
onAdEarnRewardHandler: (ad, type, amount) {
// 報酬付与
debugPrint('報酬: type=$type, amount=$amount');
},
),
);
await rewardedAd.load();
AdropRewardedListener
リワード広告イベントを処理するリスナークラスです。
コンストラクタ
AdropRewardedListener({
void Function(AdropAd ad)? onAdReceived,
void Function(AdropAd ad)? onAdClicked,
void Function(AdropAd ad)? onAdImpression,
void Function(AdropAd ad)? onAdWillPresentFullScreen,
void Function(AdropAd ad)? onAdDidPresentFullScreen,
void Function(AdropAd ad)? onAdWillDismissFullScreen,
void Function(AdropAd ad)? onAdDidDismissFullScreen,
void Function(AdropAd ad, AdropErrorCode errorCode)? onAdFailedToReceive,
void Function(AdropAd ad, AdropErrorCode errorCode)? onAdFailedToShowFullScreen,
void Function(AdropAd ad, int type, int amount)? onAdEarnRewardHandler,
})
コールバック
| コールバック | 説明 |
|---|
onAdReceived | 広告受信成功 |
onAdClicked | 広告クリック |
onAdImpression | 広告表示 |
onAdWillPresentFullScreen | 広告表示開始(iOS専用) |
onAdDidPresentFullScreen | 広告表示完了 |
onAdWillDismissFullScreen | 広告を閉じる開始(iOS専用) |
onAdDidDismissFullScreen | 広告を閉じる完了 |
onAdFailedToReceive | 広告受信失敗 |
onAdFailedToShowFullScreen | 広告表示失敗 |
onAdEarnRewardHandler | 報酬獲得 |
ポップアップ広告を表示するクラスです。
コンストラクタ
AdropPopupAd({
required String unitId,
AdropPopupListener? listener,
Color? closeTextColor,
Color? hideForTodayTextColor,
Color? backgroundColor,
})
プロパティ
| プロパティ | 型 | 説明 |
|---|
isLoaded | bool | 広告読み込み完了の有無 |
unitId | String | 広告ユニットID |
creativeId | String | クリエイティブID |
txId | String | トランザクションID |
campaignId | String | キャンペーンID |
destinationURL | String | 遷移先URL |
closeTextColor | Color? | 閉じるボタンテキスト色 |
hideForTodayTextColor | Color? | ”今日は表示しない”テキスト色 |
backgroundColor | Color? | ボタン背景色 |
メソッド
| メソッド | 戻り値の型 | 説明 |
|---|
load() | Future<void> | 広告を読み込む |
show() | Future<void> | 広告を表示 |
close() | Future<void> | 広告を閉じる |
dispose() | Future<void> | リソースを解放 |
使用例
final popupAd = AdropPopupAd(
unitId: 'YOUR_UNIT_ID',
closeTextColor: Colors.white,
backgroundColor: Colors.black87,
listener: AdropPopupListener(
onAdReceived: (ad) {
ad.show();
},
),
);
await popupAd.load();
ポップアップ広告イベントを処理するリスナークラスです。
コンストラクタ
AdropPopupListener({
void Function(AdropAd ad)? onAdReceived,
void Function(AdropAd ad)? onAdClicked,
void Function(AdropAd ad)? onAdImpression,
void Function(AdropAd ad)? onAdWillPresentFullScreen,
void Function(AdropAd ad)? onAdDidPresentFullScreen,
void Function(AdropAd ad)? onAdWillDismissFullScreen,
void Function(AdropAd ad)? onAdDidDismissFullScreen,
void Function(AdropAd ad, AdropErrorCode errorCode)? onAdFailedToReceive,
void Function(AdropAd ad, AdropErrorCode errorCode)? onAdFailedToShowFullScreen,
})
AdropMetrics
ユーザープロパティとイベントを管理するクラスです。
静的メソッド
| メソッド | 戻り値の型 | 説明 |
|---|
setProperty(String key, dynamic value) | Future<void> | ユーザープロパティを設定 |
logEvent(String name, [dynamic params]) | Future<void> | イベントをログ |
properties() | Future<Map<String, dynamic>> | すべてのプロパティを取得 |
使用例
import 'package:adrop_ads_flutter/adrop_ads_flutter.dart';
// プロパティ設定
await AdropMetrics.setProperty('membership_level', 'premium');
await AdropMetrics.setProperty('age', 25);
await AdropMetrics.setProperty('is_subscriber', true);
// プロパティ削除
await AdropMetrics.setProperty('membership_level', null);
// イベントログ
await AdropMetrics.logEvent('purchase', {
'item_id': 'SKU_001',
'price': 29900,
});
// すべてのプロパティ取得
final props = await AdropMetrics.properties();
debugPrint('プロパティ: $props');
CreativeSize
クリエイティブのサイズを表すクラスです。
コンストラクタ
const CreativeSize({
required double width,
required double height,
})
プロパティ
| プロパティ | 型 | 説明 |
|---|
width | double | 幅 |
height | double | 高さ |
テストユニットID
開発およびテスト時に使用できるユニットIDです。
| フォーマット | テストユニットID |
|---|
| バナー(320x50) | PUBLIC_TEST_UNIT_ID_320_50 |
| バナー(320x100) | PUBLIC_TEST_UNIT_ID_320_100 |
| ネイティブ | PUBLIC_TEST_UNIT_ID_NATIVE |
| インタースティシャル | PUBLIC_TEST_UNIT_ID_INTERSTITIAL |
| リワード | PUBLIC_TEST_UNIT_ID_REWARDED |
| ポップアップ(下部) | PUBLIC_TEST_UNIT_ID_POPUP_BOTTOM |
| ポップアップ(中央) | PUBLIC_TEST_UNIT_ID_POPUP_CENTER |
| スプラッシュ | PUBLIC_TEST_UNIT_ID_SPLASH |
本番デプロイ前に必ず実際のユニットIDに置き換えてください。