Flutter のバナーインテグレーション
Unity LevelPlay SDK を使用して Flutter アプリケーションにバナー広告を実装し、さまざまな広告サイズとメディエーションネットワークをサポートします。
読み終わるまでの所要時間 10 分最終更新 7日前
バナーは、システムによって開始される長方形の広告で、静的またはアニメーションにすることができ、ライブアコンテンツ定されたエリアに配信されます。
前提条件
- LevelPlay Flutter プラグインがアプリケーションに正しく統合されていることを確認します。
- LevelPlay 初期化 API を使用して SDK を初期化していることを確認します。
- LevelPlay ダッシュボードで AdUnitID を見つけます。
バナー広告オブジェクトの作成とサイズの設定
バナー広告オブジェクトは、 コールバックの受信後に作成します。
onInitSuccessfinal GlobalKey<LevelPlayBannerAdViewState> _bannerKey = GlobalKey<LevelPlayBannerAdViewState>();@overrideWidget build(BuildContext context) { return SizedBox( width: _adSize.width.toDouble(), height: _adSize.height.toDouble(), 子:LevelPlayBannerAdView( key: _bannerKey, adUnitId: [YOUR_AD_UNIT_ID], adSize: [YOUR_AD_SIZE], listener: [YOUR_LISTENER], placementName: [YOUR_PLACEMENT], // 任意 onPlatformViewCreated:[YOUR_LOAD_BANNER_METHOD] // optional ), );}
バナーサイズ
LevelPlayAdSize | 説明 | 寸法 (dp) (幅 X 高さ) |
|---|---|---|
| バナー | 標準バナー | 320×50 |
| 大規模 | Large バナー | 320 x 90 |
| MEDIUM_RECTANGLE | 中矩形 (MREC) | 300 x 250 |
| 適応型 | 広告を自動的にレンダリングして、モバイルおよびタブレットのサイズと向きを調整 | デバイスの幅 X 推奨の高高さ |
広告サイズを作成するには、以下のいずれかのオプションに従います。
-
画面幅に合わせて調整できる適応型広告サイズ(推奨):このオプションは、デバイスタイプに応じて バナー または LeaderBOARD を返すため、"SMART" インテグレーションに置き換わります。適応型機能 (Google、Yandex) をサポートするネットワークは、最適化ロジックに基づいて高ささを返します。LevelPlayAdSize adSize = await LevelPlayAdSize.createAdaptiveAdSize();
-
固定幅広告サイズを使用した適応型広告サイズ:このオプションを使用すると、特定の幅を設定できます。適応型バナー特徴 (Google、Yandex) をサポートするネットワークは、指定された幅に基づく最適化ロジックに基づいて高ささを返します。他のすべてのネットワークは、指定された幅に応じたフォールバック サイズ(バナーまたは LeaderBOARD)を返します。LevelPlayAdSize adSize = await LevelPlayAdSize.createAdaptiveAdSize(width: 400);
-
特定のバナーサイズ:このオプションでは、バナーサイズ(バナー、大、中)を指定できます。LevelPlayAdSize adSize = LevelPlayAdSize.MEDIUM_RECTANGLE;
Placements
Unity はバナーのプレースメントをレポート用にのみサポートします。の前にプレースメントを設定して、リロードされたすべての広告に影響を与えます。
loadAdバナーの設定
コードに LevelPlayBannerAdViewListener を実装して、広告の配信に関する情報を取得します。
- 推奨されるベストプラクティスは、バナー広告をロードする前にリスナーを設定することです。
- バナー広告ごとに独自のリスナーを実装する必要があります。
- コールバックはメインスレッドで実行されます。
/** バナーがロードされた後に呼び出されます。 @param adInfo 広告の情報。 */ @overridevoid onAdLoaded(LevelPlayAdInfo adInfo) {}/** バナーのロードに失敗した後に呼び出されます。 @param error エラーに関する情報 */ @overridevoid onAdLoadFailed(LevelPlayAdError error) {}/** 画面が表示されることを通知します。 @param adInfo 広告の情報。 */ @overridevoid onAdDisplayed(LevelPlayAdInfo adInfo) {}/** 画面ディスプレイに失敗したことを通知します。 @param adInfo 広告の情報。 @param error エラーに関する情報 */ @overridevoid onAdDisplayFailed(LevelPlayAdInfo adInfo, LevelPlayAdError error) {}/** ユーザーがバナー広告をクリックしたときに呼び出されます。 @param adInfo 広告の情報。 */ @overridevoid onAdClicked(LevelPlayAdInfo adInfo) {}/** 広告が全画面で開きます。 @param adInfo 広告の情報。 */ @overridevoid onAdExpanded(LevelPlayAdInfo adInfo) {}/** 広告が元のサイズに復元されます。 @param adInfo 広告の情報。 */ @overridevoid onAdCollapsed(LevelPlayAdInfo adInfo) {}/** ユーザーが広告をクリックし、アプリケーション外に移動した。 @param adInfo 広告の情報。 */ @overridevoid onAdLeftApplication(LevelPlayAdInfo adInfo) {}
ロードバナー広告
バナー広告をロードするには、loadAd を使用します。
// Load the banner ad _bannerKey.currentState?.loadAd();
loadAd は、バナービューコンテナが完全に作成された時、または選択した他のタイミングで呼び出すことができます。
onPlatformViewCreated is calledバナー更新の一時停止と再開
プラットフォームで更新値が定義されている場合は、コードのバナー更新を一時停止できます。バナー広告の自動更新を停止するか、一時停止後に再度有効にするには、以下の方法を使用します。
- :バナー広告の自動更新を一時停止します。
pauseAutoRefresh - :バナー広告が一時停止された後、自動更新が再開されます。
resumeAutoRefresh
// Pause refresh _bannerKey.currentState?.pauseAutoRefresh(); // Resume refresh _bannerKey.currentState?.resumeAutoRefresh();
バナー広告の破棄
バナーを破棄するには、 メソッドを呼び出します。
destroy破棄されたバナーは再度表示できなくなります。さらに広告をディスプレイするには、新しい オブジェクトを作成します。
LevelPlayBannerAdView_bannerKey.currentState?.destroy();
バナー広告の完全な実装例
ここでは、標準バナーサイズを使用してバナー広告を作成およびロードする例を示します。
// Start of the widget... final _bannerKey = GlobalKey<LevelPlayBannerAdViewState>(); final adSize = LevelPlayAdSize.BANNER; @override Widget build(BuildContext context) { return SizedBox( width: adSize.width.toDouble(), // Get actual banner layout width size height: adSize.height.toDouble(), // Get actual banner layout height size 子:LevelPlayBannerAdView( key: _bannerKey, adUnitId:'YOUR_AD_UNIT_ID', adSize: adSize, 聞き手:これ placementName: 'YOUR_PLACEMENT', onPlatformViewCreated: () { // In this implementation we call loadAd on the key, // it is also possible to store the LevelPlayBannerAdView widget // in a variable and call loadAd on it as described above in the docs. _bannerKey.currentState?.loadAd(); }, ), ); } @override void onAdClicked(LevelPlayAdInfo adInfo) { // Implement your logic here... } @override void onAdCollapsed(LevelPlayAdInfo adInfo) { // Implement your logic here... } @override void onAdDisplayFailed(LevelPlayAdInfo adInfo, LevelPlayAdError error) { // Implement your logic here... } @override void onAdDisplayed(LevelPlayAdInfo adInfo) { // Implement your logic here... } @override void onAdExpanded(LevelPlayAdInfo adInfo) { // Implement your logic here... } @override void onAdLeftApplication(LevelPlayAdInfo adInfo) { // Implement your logic here... } @override void onAdLoadFailed(LevelPlayAdError error) { // Implement your logic here... } @override void onAdLoaded(LevelPlayAdInfo adInfo) { // Implement your logic here... } // End of widget...
LevelPlay Mediation デモアプリケーション
インテグレーション Demo (インテグレーションデモ) アプリケーションは、バナー広告単位 API をアプリケーションに統合する方法を示します。
インテグレーションテストスイートとのインテグレーションを確認します。
次のステップ
Flutterのインテグレーションガイドに従って、追加のインタースティシャル広告ネットワークを統合したり、追加の広告フォーマットを設定したりすることができます。