Adrop Flutter SDKを使用すると、Flutterアプリでさまざまな広告フォーマットを簡単に連携できます。
サポート広告フォーマット
| フォーマット | 説明 |
|---|
| バナー広告 | 画面の一部に表示される長方形の広告 |
| ネイティブ広告 | アプリコンテンツと自然に調和する広告 |
| インタースティシャル広告 | 全画面を覆う広告 |
| リワード広告 | 報酬を提供する全画面広告 |
| ポップアップ広告 | ポップアップ形式で表示される広告 |
Flutter
- Flutter SDK 3.3.0 以上
- Dart SDK 2.18.0 以上
Android
- API レベル 23 (Android 6.0) 以上
compileSdkVersion 34
- Kotlin 2.1.0 以上
- Gradle 7.6.3 以上
- Jetpack (AndroidX) 使用
iOS
インストール
1. パッケージのインストール
プロジェクトディレクトリで次のコマンドを実行します。
flutter pub add adrop_ads_flutter
2. iOSの設定
ios/Podfileを修正します。
Podをインストールします。
cd ios && pod install --repo-update && cd ..
3. 設定ファイルの追加
Android
- アドコントロールコンソールから adrop_service.json ファイルをダウンロードします。
- ファイルを
android/app/src/main/assets/ディレクトリにコピーします。
android/app/src/main/assets/adrop_service.json
iOS
- アドコントロールコンソールから adrop_service.json ファイルをダウンロードします。
- Xcodeでプロジェクトルートにファイルを追加します。
- すべてのターゲットにファイルを追加するように選択します。
初期化
アプリ起動時にSDKを初期化します。通常はmain.dartで呼び出します。
import 'package:adrop_ads_flutter/adrop_ads_flutter.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
@override
void initState() {
super.initState();
_initializeAdrop();
}
Future<void> _initializeAdrop() async {
// false: テストモード, true: プロダクションモード
await Adrop.initialize(false);
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: HomeScreen(),
);
}
}
初期化オプション
await Adrop.initialize(
production, // bool: プロダクションモードかどうか
targetCountries: targetCountries, // List<String>?: ターゲット国コード配列 (オプション)
useInAppBrowser: useInAppBrowser // bool?: iOSインアプリブラウザ使用 (オプション)
);
パラメータ
| パラメータ | タイプ | 必須 | 説明 |
|---|
production | bool | Y | true: プロダクションモード, false: テストモード |
targetCountries | List<String> | N | 広告を表示する国コード (例: ['KR', 'US']) |
useInAppBrowser | bool | N | iOSでインアプリブラウザを使用 (デフォルト: false) |
例
// 基本初期化 (テストモード)
await Adrop.initialize(false);
// プロダクションモード + 特定国ターゲティング
await Adrop.initialize(true, targetCountries: ['KR', 'JP', 'US']);
// プロダクションモード + iOSインアプリブラウザ使用
await Adrop.initialize(true, useInAppBrowser: true);
テーマ設定
広告UIテーマを設定します。
import 'package:adrop_ads_flutter/adrop_ads_flutter.dart';
// テーマ設定
await Adrop.setTheme(AdropTheme.auto); // システム設定に従う
await Adrop.setTheme(AdropTheme.light); // ライトモード
await Adrop.setTheme(AdropTheme.dark); // ダークモード
| テーマ | 説明 |
|---|
AdropTheme.auto | システム設定に従って自動切り替え |
AdropTheme.light | ライトモード |
AdropTheme.dark | ダークモード |
ユーザー識別子の設定
ターゲティング広告のためにユーザー識別子(UID)を設定します。
import 'package:adrop_ads_flutter/adrop_ads_flutter.dart';
// ユーザーログイン後
await Adrop.setUID('user_123');
// ログアウト時
await Adrop.setUID('');
UIDはSHA-256でハッシュ化されて送信されます。メール、電話番号などの個人情報を直接渡さないでください。
テストユニット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に置き換えてください。
エラーコード
SDKで発生する可能性のあるエラーコードです。
| エラーコード | 説明 |
|---|
network | ネットワークエラー |
internal | 内部エラー |
initialize | SDK初期化エラー |
invalidUnit | 無効なユニットID |
notTargetCountry | ターゲット国ではない |
inactive | 無効化された広告 |
adNoFill | 表示する広告がない |
adLoadDuplicate | 重複ロードリクエスト |
adLoading | ロード進行中 |
adEmpty | 空の広告 |
adShown | すでに表示された広告 |
adHideForToday | 今日は非表示に設定 |
adLandscapeUnsupported | 横モード未対応 |
backfillNoFill | バックフィル広告なし |
import 'package:adrop_ads_flutter/adrop_ads_flutter.dart';
// エラー処理例
if (errorCode == AdropErrorCode.adNoFill) {
debugPrint('表示する広告がありません。');
}
トラブルシューティング
iOSビルドエラー
Swiftバージョンの互換性問題が発生した場合、ios/Podfileのpost_installブロックに次を追加してください。
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
end
end
end
Androidビルドエラー
Kotlinバージョンが合わない場合、android/build.gradleでKotlinバージョンを確認してください。
buildscript {
ext.kotlin_version = '2.1.0'
}
次のステップ