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

概要

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

  • iOS 13.0 以上
  • Swift 5.0 以上

インストール

1. パッケージのインストール

プロジェクトディレクトリで次のコマンドを実行します。
flutter pub add adrop_ads_flutter

2. iOSの設定

ios/Podfileを修正します。
ios/Podfile
use_frameworks!
Podをインストールします。
cd ios && pod install --repo-update && cd ..

3. 設定ファイルの追加

Android

  1. アドコントロールコンソールから adrop_service.json ファイルをダウンロードします。
  2. ファイルをandroid/app/src/main/assets/ディレクトリにコピーします。
android/app/src/main/assets/adrop_service.json

iOS

  1. アドコントロールコンソールから adrop_service.json ファイルをダウンロードします。
  2. Xcodeでプロジェクトルートにファイルを追加します。
  3. すべてのターゲットにファイルを追加するように選択します。

初期化

アプリ起動時にSDKを初期化します。通常はmain.dartで呼び出します。
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インアプリブラウザ使用 (オプション)
);
パラメータ
パラメータタイプ必須説明
productionboolYtrue: プロダクションモード, false: テストモード
targetCountriesList<String>N広告を表示する国コード (例: ['KR', 'US'])
useInAppBrowserboolNiOSでインアプリブラウザを使用 (デフォルト: 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内部エラー
initializeSDK初期化エラー
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/Podfilepost_installブロックに次を追加してください。
ios/Podfile
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バージョンを確認してください。
android/build.gradle
buildscript {
    ext.kotlin_version = '2.1.0'
}

次のステップ