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 8.7 以上
Jetpack (AndroidX) 使用
iOS
インストール
1. パッケージのインストール
プロジェクトディレクトリで次のコマンドを実行します。
flutter pub add adrop_ads_flutter
2. Androidの設定
android/settings.gradle.ktsにバックフィル広告リポジトリを追加します。
android/settings.gradle.kts
dependencyResolutionManagement {
repositoriesMode. set (RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google ()
mavenCentral ()
maven { url = uri ( "https://artifact.bytedance.com/repository/pangle" ) }
}
}
android/app/build.gradleにバックフィル依存関係を追加します。
dependencies {
implementation 'io.adrop:adrop-ads-backfill:1.7.6'
}
android/app/src/main/AndroidManifest.xmlにバックフィルApp IDを追加します。
android/app/src/main/AndroidManifest.xml
< manifest >
< application >
<!-- Backfill App ID -->
< meta-data
android:name = "com.google.android.gms.ads.APPLICATION_ID"
android:value = "ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy" />
</ application >
</ manifest >
App IDの発行についてはAdropにお問い合わせください。
3. iOSの設定
ios/Podfileを修正します。
use_frameworks!
target 'Runner' do
# その他の依存関係...
# バックフィル広告SDK
pod 'adrop-ads-backfill'
end
Podをインストールします。
cd ios && pod install --repo-update && cd ..
4. Info.plistの設定
バックフィル広告のためにios/Runner/Info.plistに以下の設定を追加します。
GADApplicationIdentifier : バックフィル広告用のApp ID
SKAdNetworkItems : iOS 14以降で広告コンバージョントラッキングに必要
< key > GADApplicationIdentifier </ key >
< string > ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy </ string >
< key > SKAdNetworkItems </ key >
< array >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > cstr6suwn9.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 4fzdc2evr5.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 4pfyvq9l8r.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 2fnua5tdw4.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > ydx93a7ass.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 5a6flpkh64.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > p78axxw29g.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > v72qych5uu.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > ludvb6z3bs.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > cp8zw746q7.skadnetwork </ string >
</ dict >
</ array >
SKAdNetworkItemsの全リストとApp IDの発行についてはAdropにお問い合わせください。
5. 設定ファイルの追加
Android
Ad Controlコンソールから adrop_service.json ファイルをダウンロードします。
ファイルをandroid/app/src/main/assets/ディレクトリにコピーします。
android/app/src/main/assets/adrop_service.json
iOS
Ad Controlコンソールから 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インアプリブラウザ使用 (オプション)
);
パラメータ
パラメータ タイプ 必須 説明 productionboolY true: プロダクションモード, false: テストモードtargetCountriesList<String>N 広告を表示する国コード (例: ['KR', 'US']) useInAppBrowserboolN 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内部エラー 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/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'
}
次のステップ