このガイドでは、Google Mobile Ads SDK でメディエーションを使用して AppLovin の広告を読み込んで表示する方法を説明します。入札とウォーターフォールの両方の統合について説明します。また、広告ユニットのメディエーション設定に AppLovin を追加する方法と、AppLovin SDK とアダプタを Flutter アプリに統合する方法についても取り上げます。
サポートされている統合と広告フォーマット
AppLovin 用の AdMob メディエーション アダプタには、次の機能があります。
統合 | |
---|---|
入札単価 | |
ウォーターフォール | |
フォーマット | |
バナー | 1 |
インタースティシャル | |
特典 |
ウォーターフォールでサポートされているバナーサイズは 320×50 と 728×90 のみです。入札ではバナー広告はサポートされていません。
要件
- Google Mobile Ads SDK のバージョンが最新であること
- Flutter 3.7.0 以降
- Android にデプロイするには
- Android API レベル 23 以上
- iOS にデプロイするには
- iOS のデプロイ対象のバージョンが 12.0 以降であること
- Google Mobile Ads SDK で構成された動作中の Flutter プロジェクト。詳しくは、スタートガイドをご覧ください。
- メディエーションのスタートガイドの手順を完了していること
ステップ 1: AppLovin UI で構成を設定する
AdMob 広告ユニットを設定するには、AppLovin の SDK キーとレポートキーが必要です。これらの値を確認するには、AppLovin UI > [Account] > [Keys] に移動します。
入札のみを統合する場合は、メディエーション設定の構成に進みます。
メディエーション用のアプリを選択する
入札単価
入札統合の場合、この手順は必要ありません。
ウォーターフォール
AppLovin UI で、[Monetization] セクションの [Applications] を選択して、登録済みのアプリに移動します。利用可能なアプリのリストから、メディエーションで使用するアプリを選択します。
ゾーンを作成する
入札単価
入札統合の場合、この手順は必要ありません。
ウォーターフォール
AppLovin の UI で、[Monetization] セクションの [Zones] を選択して、登録済みのゾーン ID にアクセスします。アプリに必要なゾーンをすでに作成している場合は、ステップ 2 に進みます。新しいゾーン ID を作成するには、[ゾーンを作成] をクリックします。
[ゾーン ID] の名前を入力し、[プラットフォーム] として [Android] を選択して、[広告タイプ] を選択します。
[料金設定] で [固定 CPM] または [AppLovin による最適化] を選択して、ゾーンの料金設定を構成します。[固定 CPM] オプションでは、国ごとに CPM を設定できます。次に、[Save] をクリックします。
Android
iOS
ゾーンを作成すると、[ゾーン ID] 列にゾーン ID が表示されます。
Android
iOS
app-ads.txt を更新する
Authorized Sellers for Apps app-ads.txt は、承認されたチャネルでのみアプリ広告枠を販売できるようにする IAB Tech Lab が推進しているイニシアチブです。広告収益の大幅な減少を防ぐためには、app-ads.txt
ファイルを実装する必要があります。まだ設定していない場合は、アプリの app-ads.txt ファイルを設定します。
Applovin に app-ads.txt
を実装するには、AppLovin を app-ads.txt ファイルに追加します。
テストモードをオンにする
AppLovin の MAX テストモードガイドの手順に沿って、AppLovin テスト広告を有効にします。
ステップ 2: AdMob の UI で AppLovin のデマンドを設定する
広告ユニットのメディエーション設定を構成する
GDPR と米国の州規制の広告パートナー リストに AppLovin Corp. を追加する
欧州の規制に関する設定と米国の州の規制に関する設定の手順に沿って、AdMob 管理画面の欧州および米国の州の規制に関する広告パートナーのリストに Applovin Corp. を追加します。
ステップ 3: AppLovin の SDK とアダプタをインポートする
pub.dev を介した統合
パッケージの pubspec.yaml
ファイルに、Applovin SDK とアダプタの最新バージョンを含む次の依存関係を追加します。
dependencies:
gma_mediation_applovin: ^
手動による統合
Applovin 向けの Google モバイル広告メディエーション プラグインの最新バージョンをダウンロードし、ダウンロードしたファイルを解凍して、解凍したプラグイン フォルダ(およびそのコンテンツ)を Flutter プロジェクトに追加します。次に、次の依存関係を追加して、pubspec.yaml
ファイルでプラグインを参照します。
dependencies:
gma_mediation_applovin:
path: path/to/local/package
ステップ 4: AppLovin SDK にプライバシー設定を実装する
EU ユーザーからの同意と GDPR
Google の EU ユーザーの同意ポリシーに準拠するには、欧州経済領域(EEA)、英国、スイスのユーザーに対して特定の情報を開示し、法律で義務付けられている場合は、Cookie やその他のローカル ストレージの使用、広告のパーソナライズを目的とした個人データの収集、共有、使用についてユーザーの同意を得る必要があります。このポリシーには、EU の e プライバシー指令と一般データ保護規則(GDPR)の要件が反映されています。パブリッシャー様には、同意がメディエーション チェーン内の各広告ソースに反映されていることを確認する責任があります。 Google は、同意に関するユーザーの選択をそのようなネットワークに自動的に渡すことはできません。
AppLovin は、共有設定から同意文字列を読み取り、それに応じて同意ステータスを設定することをサポートしています。同意文字列を共有設定に書き込む CMP を使用していない場合は、GmaMediationApplovin.setHasUserConsent()
メソッドと GmaMediationApplovin.setIsAgeRestrictedUser()
メソッドを使用できます。次のサンプルコードは、同意情報を AppLovin SDK に渡す方法を示しています。これらのオプションは、Google Mobile Ads SDK を初期化する前に設定する必要があります。そうすることで、AppLovin SDK に正しく転送されます。
import 'package:gma_mediation_applovin/gma_mediation_applovin.dart';
// ...
GmaMediationApplovin.setHasUserConsent(true);
GmaMediationApplovin.setIsAgeRestrictedUser(true);
詳しくは、AppLovin のプライバシー設定をご覧ください。
米国のプライバシー関連州法
米国の州のプライバシー法では、ユーザーが「個人情報」の「販売」を拒否する権利を保障することが求められています(用語は法律の定義に基づく)。「販売者」のホームページにある「個人情報を販売しない」リンクから販売を拒否することができます。米国のプライバシー関連州法遵守ガイドでは、Google 広告の配信で制限付きデータ処理を有効にできますが、Google がこの設定をメディエーション チェーン内の各広告ネットワークに適用することはできません。そのため、メディエーション チェーン内で個人情報の販売に関与する可能性のある広告ネットワークを特定し、各ネットワークのガイダンスに沿って州法を遵守する必要があります。
AppLovin 用の Google Mobile Ads メディエーション プラグインには、GmaMediationApplovin.setDoNotSell()
メソッドが含まれています。次のサンプルコードは、同意情報を AppLovin SDK に渡す方法を示しています。これらのオプションは、Google Mobile Ads SDK を初期化する前に設定して、AppLovin SDK に正しく転送されるようにする必要があります。
import 'package:gma_mediation_applovin/gma_mediation_applovin.dart';
// ...
GmaMediationApplovin.setDoNotSell(true);
詳しくは、AppLovin のプライバシーに関するドキュメントをご覧ください。
ステップ 5: 必要なコードを追加する
Android
AppLovin の統合に、追加のコードは必要ありません。
iOS
SKAdNetwork の統合
AppLovin のドキュメントに沿って、プロジェクトの Info.plist ファイルに SKAdNetwork 識別子を追加します。
ステップ 6: 実装をテストする
テスト広告を有効にする
AdMob 用のテストデバイスを登録し、Applovin UI でテストモードを有効にしてください。
テスト広告を確認する
Applovin からテスト広告を受信していることを確認するには、Applovin(入札)と Applovin(ウォーターフォール)の広告ソースを使用して、広告インスペクタで単一の広告ソースのテストを有効にします。
省略可能なステップ
ネットワーク固有のパラメータ
AppLovin アダプタは、AppLovinMediationExtras
オブジェクトを広告リクエストに渡して、ネットワーク固有のパラメータを設定することをサポートしています。次のサンプルコードは、isMuted
パラメータを使用して動画広告の音声を無効にする方法を示しています。
AppLovinMediationExtras applovinExtras = AppLovinMediationExtras(isMuted: true)
AdRequest request = AdRequest(
keywords: <String>['foo', 'bar'],
contentUrl: 'http://foo.com/bar.html',
mediationExtras: [applovinExtras],
);
最適化
起動アクティビティに GmaMediationApplovin.initializeSdk('sdkKey')
の呼び出しを追加すると、アプリの起動と同時に AppLovin がイベントをトラッキングできるようになります。
エラーコード
アダプタが AppLovin から広告を受信できなかった場合は、次のクラスの ResponseInfo
を使用して、広告レスポンスから根本原因のエラーを確認できます。
Android
com.google.ads.mediation.applovin.mediation.ApplovinAdapter
com.google.ads.mediation.applovin.AppLovinMediationAdapter
iOS
GADMAdapterAppLovin
GADMAdapterAppLovinRewardBasedVideoAd
GADMediationAdapterAppLovin
広告の読み込みに失敗した場合に AppLovin アダプタがスローするコードとメッセージは次のとおりです。
Android
エラーコード | 理由 |
---|---|
-1009 ~-1、204 | AppLovin SDK がエラーを返しました。詳しくは、AppLovin のドキュメントをご覧ください。 |
101 | リクエストされた広告サイズが、AppLovin がサポートするバナーサイズと一致しません。 |
103 | コンテキストが null です。 |
104 | AppLovin の入札トークンが空です。 |
105 | 同じゾーンに対して複数の広告がリクエストされました。AppLovin では、ゾーンごとに一度に 1 つの広告しか読み込めません。 |
106 | 広告を表示する準備ができていません。 |
108 | AppLovin アダプタは、リクエストされた広告フォーマットをサポートしていません。 |
109 | Context が Activity インスタンスではありません。 |
110 | サーバー パラメータが無効です(SDK キーが null など)。 |
112 | ユーザーが子供である。 |
iOS
エラーコード | 理由 |
---|---|
-1009 ~-1、204 | AppLovin SDK がエラーを返しました。詳しくは、AppLovin のドキュメントをご覧ください。 |
101 | リクエストされた広告サイズが、AppLovin がサポートするバナーサイズと一致しません。 |
102 | AdMob 管理画面で設定された AppLovin サーバー パラメータが存在しないか、無効です。 |
103 | AppLovin 広告を表示できませんでした。 |
104 | 同じゾーンに対して複数の広告がリクエストされました。AppLovin では、ゾーンごとに一度に 1 つの広告しか読み込めません。 |
105 | AppLovin SDK キーが見つかりません。 |
107 | 入札トークンが空です。 |
108 | AppLovin アダプタは、リクエストされた広告フォーマットをサポートしていません。 |
110 | AppLovin は読み込み成功のコールバックを送信しましたが、読み込まれた広告は 1 つもありませんでした。 |
111 | AppLovin SDK のインスタンスを取得できません。 |
112 | ユーザーが子供である。 |
113 | AppLovin SDK の共有インスタンスが初期化されていません。 |
114 | AppLovin SDK が入札トークンを返さない。 |
AppLovin Flutter メディエーション アダプタの変更履歴
バージョン 2.3.2
- AppLovin Android アダプタ バージョン 13.3.1.1 をサポートしています。
- AppLovin iOS アダプター バージョン 13.3.1.0 をサポートします。
- Google Mobile Ads Flutter プラグイン バージョン 6.0.0 でビルドおよびテスト済み。
バージョン 2.3.1
- AppLovin Android アダプタ バージョン 13.3.1.0 をサポートします。
- AppLovin iOS アダプター バージョン 13.3.1.0 をサポートします。
- Google Mobile Ads Flutter プラグイン バージョン 6.0.0 でビルドおよびテスト済み。
バージョン 2.3.0
- AppLovin Android アダプタ バージョン 13.3.0.0 をサポートしています。
- AppLovin iOS アダプター バージョン 13.3.0.0 をサポートします。
- Google Mobile Ads Flutter プラグイン バージョン 6.0.0 でビルドおよびテスト済み。
バージョン 2.2.1
- AppLovin Android アダプタ バージョン 13.2.0.1 をサポートします。
- AppLovin iOS アダプター バージョン 13.2.0.0 をサポートしています。
- Google Mobile Ads Flutter プラグイン バージョン 6.0.0 でビルドおよびテスト済み。
バージョン 2.2.0
- AppLovin Android アダプタ バージョン 13.2.0.0 をサポートしています。
- AppLovin iOS アダプター バージョン 13.2.0.0 をサポートしています。
- Google Mobile Ads Flutter プラグイン バージョン 6.0.0 でビルドおよびテスト済み。
バージョン 2.1.0
- AppLovin Android アダプタ バージョン 13.1.0.0 をサポートしています。
- AppLovin iOS アダプター バージョン 13.1.0.0 をサポートしています。
- Google Mobile Ads Flutter プラグイン バージョン 5.3.1 でビルドおよびテストされています。
バージョン 2.0.0
- AppLovin Android アダプタ バージョン 13.0.1.0 をサポートしています。
- AppLovin iOS アダプター バージョン 13.0.1.0 をサポートしています。
- Google Mobile Ads Flutter プラグイン バージョン 5.3.1 でビルドおよびテストされています。
バージョン 1.2.0
- AppLovin Android アダプタ バージョン 12.6.1.0 をサポートします。
- AppLovin iOS アダプタ バージョン 12.6.1.0 をサポートします。
- Google Mobile Ads Flutter プラグイン バージョン 5.1.0 でビルドおよびテスト済み。
バージョン 1.1.0
- GmaMediationApplovin の API が静的ではなくなりました。
- AppLovin Android アダプタ バージョン 12.4.3.0 をサポートします。
- AppLovin iOS アダプター バージョン 12.4.2.0 をサポートしています。
- Google Mobile Ads Flutter プラグイン バージョン 5.1.0 でビルドおよびテスト済み。
バージョン 1.0.0
- 初回リリース。
- AppLovin Android アダプタ バージョン 12.3.0.0 をサポートしています。
- AppLovin iOS アダプタ バージョン 12.2.1.0 をサポートします。
- Google Mobile Ads Flutter プラグイン バージョン 5.0.0 でビルドおよびテスト済み。