このガイドでは、Google Mobile Ads SDK を使用し、入札とウォーターフォールの統合の両方に対応するメディエーションを使用して、Liftoff Monetize の広告を読み込んで表示する方法を説明します。ここでは、Liftoff Monetize を広告ユニットのメディエーション構成に追加する方法と、Vungle SDK とアダプタをFlutter アプリに統合する方法について説明します。
サポートされている統合と広告フォーマット
統合 | |
---|---|
単価設定 | |
滝 | |
フォーマット | |
アプリの起動 | 1、 2 |
バナー | 1 |
インタースティシャル | |
特典 | |
リワード インタースティシャル | 1 |
ネイティブ | 1, 2 |
1 このフォーマットの入札の統合はオープンベータ版です。
2 このフォーマットのウォーターフォールの統合はオープンベータ版です。
要件
- 最新の Google Mobile Ads SDK
- Flutter 3.7.0 以降
- Android にデプロイするには
- Android API レベル 21 以降
- iOS にデプロイするには
- iOS デプロイ ターゲットが 12.0 以降であること
- Google Mobile Ads SDK で構成された動作する Flutter プロジェクト。詳しくは、スタートガイドをご覧ください。
- メディエーションのスタートガイドを完了していること
ステップ 1: Liftoff 収益化 UI で設定を行う
Liftoff Monetize アカウントに登録するか、ログインします。
[アプリケーションを追加] ボタンをクリックして、アプリを Liftoff 収益化ダッシュボードに追加します。
フォームに必要な情報をすべて入力します。
Android
iOS
アプリを作成したら、Liftoff Monetize Applications ダッシュボードでアプリを選択します。
Android
iOS
アプリ ID をメモします。
Android
iOS
新しいプレースメントを追加する
AdMob メディエーションで使用する新しいプレースメントを作成するには、Liftoff の Monetize Placements ダッシュボードに移動し、[Add Placement] ボタンをクリックして、プルダウン リストからアプリを選択します。
新しいプレースメントを追加する方法の詳細は次のとおりです。
アプリの起動
[インタースティシャル] を選択し、[プレースメント名] を入力します。[スキップ可能] で [はい] を選択し、フォームの残りの部分を入力します。[入札のみ] [収益化] で [アプリ内入札] スイッチを [有効] に切り替えます。ページの下部にある [続行] ボタンをクリックして、プレースメントを作成します。
バナー
[バナー] を選択し、[プレースメント名] を入力して、フォームの残りの部分を入力します。[入札のみ] [収益化] で、[アプリ内入札] スイッチを [有効] に切り替えます。ページの下部にある [続行] ボタンをクリックして、プレースメントを作成します。
300x250 バナー
[MREC] を選択し、[プレースメント名] に入力して、フォームの残りの部分を入力します。[入札のみ] [収益化] で、[アプリ内入札] スイッチを [有効] に切り替えます。ページの下部にある [続行] ボタンをクリックして、プレースメントを作成します。
インタースティシャル
[インタースティシャル] を選択し、[プレースメント名] を入力して、フォームの残りの部分に入力します。[入札のみ] [収益化] で、[アプリ内入札] スイッチを [有効] に切り替えます。ページの下部にある [続行] ボタンをクリックしてプレースメントを作成します。
特典
[リワード] を選択し、プレースメント名を入力して、フォームの残りの部分を入力します。[入札のみ] [収益化] で [アプリ内入札] スイッチを [有効] に切り替えます。ページの下部にある [続行] ボタンをクリックしてプレースメントを作成します。
リワード インタースティシャル
[特典] を選択します。[プレースメント名] を入力し、[スキップ可能] を有効にして、フォームの残りの部分を入力します。[入札のみ] [収益化] で [アプリ内入札] スイッチを [有効] に切り替えます。ページの下部にある [続行] ボタンをクリックしてプレースメントを作成します。
ネイティブ
[ネイティブ] を選択し、[プレースメント名] を入力して、フォームの残りの部分を入力します。[入札のみ] [収益化] で [アプリ内入札] スイッチを [有効] に切り替えます。ページの下部にある [続行] ボタンをクリックしてプレースメントを作成します。
参照 ID をメモし、[OK] をクリックします。
アプリの起動
バナー
300x250 バナー
インタースティシャル
特典
リワード インタースティシャル
ネイティブ
Reporting API キーを確認する
単価設定
この手順は、入札の統合では必要ありません。
滝
AdMob 広告ユニット ID を設定するには、アプリ ID と参照 ID に加えて、Liftoff Monetize の Reporting API キーが必要です。Liftoff Monetize レポート ダッシュボードに移動し、[Reporting API Key] ボタンをクリックして [Reporting API Key] を表示します。
テストモードをオンにする
テスト広告を有効にするには、Liftoff Monetize ダッシュボードに移動し、[アプリ] に移動します。
テスト広告を有効にするアプリを、アプリの [プレースメント リファレンス ID] セクションで選択します。テスト広告を有効にするには、[ステータス] セクションで [テストモード] から [テスト広告のみを表示] を選択します。
Android
iOS
ステップ 2: AdMob UI で Liftoff Monetize デマンドを設定する
広告ユニットのメディエーション設定を行う
GDPR と米国の州規制の広告パートナー リストに Liftoff を追加
GDPR 設定と 米国の州の規制設定の手順に沿って、AdMob 管理画面の GDPR と米国の州の規制の広告パートナー リストに Liftoff を追加します。
ステップ 3: Vungle SDK と Liftoff Monetize アダプタをインポートする
pub.dev による統合
パッケージの pubspec.yaml
ファイルに、最新バージョンのLiftoff Monetize SDK とアダプタを含む次の依存関係を追加します。
dependencies:
gma_mediation_liftoffmonetize: ^1.0.0
手動による統合
Liftoff Monetize 用の Google Mobile Ads メディエーション プラグインの最新バージョンをダウンロードし、ダウンロードしたファイルを解凍して、解凍したプラグイン フォルダ(とその内容)を Flutter プロジェクトに追加します。次に、次の依存関係を追加して、pubspec.yaml
ファイルでプラグインを参照します。
dependencies:
gma_mediation_liftoffmonetize:
path: path/to/local/package
ステップ 4: Liftoff Monetize SDK にプライバシー設定を実装する
EU の同意と GDPR
Google の EU ユーザーの同意ポリシーに基づき、デバイス ID と個人データの使用について、欧州経済領域(EEA)のユーザーに対して特定の情報を開示し、同意を得る必要があります。このポリシーには、EU の e プライバシー指令と一般データ保護規則(GDPR)の要件が反映されています。同意を求める際は、個人データを収集、受領、または使用する可能性があるメディエーション チェーン内の各広告ネットワークを特定し、各ネットワークの使用に関する情報を提供する必要があります。現在のところ、Google はユーザーの同意に関する選択を自動的にこのようなネットワークに渡すことはできません。
Liftoff Monetize 用の Google モバイル広告メディエーション プラグインには、GmaMediationLiftoffmonetize.setGDPRStatus()
メソッドが含まれています。次のサンプルコードは、同意情報を Vungle SDK に渡す方法を示しています。このメソッドを呼び出す場合は、Google Mobile Ads SDK で広告をリクエストする前に呼び出すことをおすすめします。
import 'package:gma_mediation_liftoffmonetize/gma_mediation_liftoffmonetize.dart';
// ...
GmaMediationLiftoffmonetize.setGDPRStatus(true, "1.0.0");
詳細情報とメソッドで指定できる値については、Android および iOS 向けの GDPR 推奨実装手順をご覧ください。
米国のプライバシー関連州法
米国のプライバシー関連州法 では、ユーザーに対して「個人情報」の「販売」をオプトアウトする権利を(法律で定義されるとおり)提供することを義務付けています。また、「販売」当事者のホームページに目立つ「個人情報を販売しない」リンクを通じてオプトアウトできます。米国の州のプライバシー関連法の遵守ガイドでは、Google 広告配信で制限付きデータ処理を有効にできますが、Google はメディエーション チェーン内の各広告ネットワークにこの設定を適用することはできません。そのため、個人情報の販売に参加する可能性があるメディエーション チェーンの各広告ネットワークを特定し、各ネットワークのガイダンスに従ってコンプライアンスを確保する必要があります。
Liftoff Monetize 用の Google モバイル広告メディエーション プラグインには、GmaMediationLiftoffmonetize.setCCPAStatus()
メソッドが含まれています。次のサンプルコードは、同意情報を Vungle SDK に渡す方法を示しています。このメソッドを呼び出す場合は、Google Mobile Ads SDK を使用して広告をリクエストする前に、このメソッドを呼び出すことをおすすめします。
import 'package:gma_mediation_liftoffmonetize/gma_mediation_liftoffmonetize.dart';
// ...
GmaMediationLiftoffmonetize.setCCPAStatus(true);
詳細と、このメソッドで指定できる値については、Android と iOS の CCPA 推奨実装手順をご覧ください。
ステップ 5: 必要なコードを追加する
Android
Liftoff Monetize の統合に追加のコードは必要ありません。
iOS
SKAdNetwork との統合
Liftoff Monetize のドキュメントに沿って、SKAdNetwork ID をプロジェクトの Info.plist
ファイルに追加します。
ステップ 6: 実装をテストする
テスト広告を有効にする
AdMob にテストデバイスを登録し、Liftoff 収益化 UI でテストモードを有効にしてください。
テスト広告を確認する
Liftoff Monetize からテスト広告が配信されていることを確認するには、広告インスペクタでLiftoff Monetize(入札)と Liftoff Monetize(ウォーターフォール)の広告ソースを使用して、単一の広告ソースのテストを有効にします。
エラーコード
アダプターが Liftoff Monetize から広告を受信できない場合、パブリッシャーは次のクラスの ResponseInfo
を使用して、広告レスポンスから根本的なエラーを確認できます。
Android
形式 | クラス名 |
---|---|
アプリ起動(入札) | com.google.ads.mediation.vungle.VungleMediationAdapter |
アプリ起動(ウォーターフォール) | com.google.ads.mediation.vungle.VungleMediationAdapter |
バナー(入札) | com.google.ads.mediation.vungle.VungleMediationAdapter |
バナー(ウォーターフォール) | com.vungle.mediation.VungleInterstitialAdapter |
インタースティシャル(入札) | com.google.ads.mediation.vungle.VungleMediationAdapter |
インタースティシャル(ウォーターフォール) | com.vungle.mediation.VungleInterstitialAdapter |
リワード(入札) | com.google.ads.mediation.vungle.VungleMediationAdapter |
リワード(ウォーターフォール) | com.vungle.mediation.VungleAdapter |
リワード インタースティシャル(入札) | com.google.ads.mediation.vungle.VungleMediationAdapter |
リワード インタースティシャル(ウォーターフォール) | com.google.ads.mediation.vungle.VungleMediationAdapter |
iOS
形式 | クラス名 |
---|---|
アプリ起動(入札) | GADMediationAdapterVungle |
アプリ起動(ウォーターフォール) | GADMediationAdapterVungle |
バナー(入札) | GADMediationAdapterVungle |
バナー(ウォーターフォール) | GADMAdapterVungleInterstitial |
インタースティシャル(入札) | GADMediationAdapterVungle |
インタースティシャル(ウォーターフォール) | GADMAdapterVungleInterstitial |
リワード(入札) | GADMediationAdapterVungle |
リワード(ウォーターフォール) | GADMAdapterVungleRewardBasedVideoAd |
リワード インタースティシャル(入札) | GADMediationAdapterVungle |
リワード インタースティシャル(ウォーターフォール) | GADMediationAdapterVungle |
広告の読み込みに失敗したときに、Liftoff Monetize アダプタによってスローされるコードと付随するメッセージは次のとおりです。
Android
エラーコード | 理由 |
---|---|
101 | サーバー パラメータが無効です(アプリ ID、プレースメント ID など)。 |
102 | リクエストされたバナーサイズが、有効な Liftoff Monetize 広告サイズにマッピングされていません。 |
103 | Liftoff Monetize で広告をリクエストするには、Activity コンテキストが必要です。 |
104 | Vungle SDK では、同じプレースメント ID の広告を複数読み込むことはできません。 |
105 | Vungle SDK の初期化に失敗しました。 |
106 | Vungle SDK は読み込み成功コールバックを返しましたが、Banners.getBanner() または Vungle.getNativeAd() が null を返しました。 |
107 | Vungle SDK が広告を再生する準備ができていません。 |
108 | Vungle SDK から無効な入札トークンが返されました。 |
iOS
エラーコード | 理由 |
---|---|
101 | サーバー パラメータが無効です(アプリ ID、プレースメント ID など)。 |
102 | このネットワーク構成の広告はすでに読み込まれています。Vungle SDK では、同じプレースメント ID の 2 つ目の広告を読み込むことはできません。 |
103 | リクエストされた広告サイズが、Liftoff Monetize でサポートされているバナーサイズと一致しません。 |
104 | Vungle SDK がバナー広告をレンダリングできませんでした。 |
105 | Vungle SDK では、プレースメント ID に関係なく、一度に 1 つのバナー広告しか読み込めません。 |
106 | Vungle SDK から、広告を再生できないことを示すコールバックが送信されました。 |
107 | Vungle SDK では広告を再生する準備ができていません。 |
Vungle SDK から発生したエラーについては、エラーコード: iOS と Android の Vungle SDK をご覧ください。
Liftoff Monetize Flutter メディエーション アダプタの変更履歴
次のバージョン
- Google Mobile Ads Flutter プラグインのバージョン 5.2.0 を使って作成、テストしています。
バージョン 1.1.0
- Liftoff Monetize Android アダプター バージョン 7.4.0.1 との互換性が確認されました
- LiftoffMonetize iOS アダプター バージョン 7.4.0.1 との互換性を確認しました
- Google Mobile Ads Flutter プラグイン バージョン 5.1.0 でビルド、テスト済み。
バージョン 1.0.0
- 初回リリース。
- Liftoff Monetize Android アダプター バージョン 7.3.1.0 との互換性が確認されました
- LiftoffMonetize iOS アダプター バージョン 7.3.2.0 との互換性が確認されました
- Google Mobile Ads Flutter プラグインのバージョン 5.1.0 を使って作成、テストしています。