Google Mobile Ads — AdMobとGoogle Ad Managerを含む、モバイルアプリで広告を表示するためのGoogleのSDKです。SDKはすべての主要フォーマット(バナー、インタースティシャル、リワード動画、ネイティブ広告)をサポートしています。Google Mobile Ads SDKは年間1兆件以上の広告リクエストを処理し、広告収益化を行うアプリの80%で使用されています。Google AdMob Documentation, 2025によると、適切な統合におけるユーザーあたりの平均収益は月額$0.50-2.00です。
ポイント
Google Mobile Ads — モバイルアプリ向けのGoogleの広告プラットフォームであり、広告表示用のSDKと収益分析ツールを提供します。プラットフォームには2つの主要システムがあります:AdMob(独立系デベロッパー向け)とGoogle Ad Manager(直接広告キャンペーンを持つ大規模パブリッシャー向け)です。両システムは同じGoogle Mobile Ads SDKを使用しており、プラットフォーム間の移行が容易です。
Google Mobile Adsの動作の基盤はリアルタイム入札(RTB)です。アプリが広告表示をリクエストすると、SDKはGoogleサーバーにリクエストを送信し、アルゴリズムがユーザープロファイル、アプリのコンテキスト、利用可能な広告キャンペーンを分析します。入札の勝者は100〜300ミリ秒で決定され、広告主の入札額が高いほどデベロッパーの収益も高くなります。Google (2025)によると、Androidアプリの平均eCPMは$5-15です。
eCPM(effective Cost Per Mille)は、収益化の主要指標であり、1000インプレッションあたりの収益を示します。eCPMはユーザーの地域(米国と欧州で高く、アジアで低い)、広告フォーマット(リワード動画はeCPM $10-30、バナーは$0.50-2)、時期(12月はeCPMが30-50%上昇)によって異なります。Google Mobile Ads SDKは入札を通じて最大eCPMに自動的にインプレッションを最適化します。
バナー広告 — 固定サイズの長方形ブロック(320x50 — 標準、320x100 — 大、300x250 — 中)。バナーは画面の下部または上部に配置され、最小限のスペースを占めます。欠点:低いeCPM($0.50-2)とユーザーの慣れ(バナーのクリック率(CTR)は0.05-0.5%)。バナーは30〜60秒ごとに自動更新されますが、Googleはユーザーエクスペリエンスを維持するために60秒以上の間隔を推奨しています。
Interstitial(インタースティシャル広告) — アプリの自然な区切り(ゲームのレベル間、画面遷移時)に表示される全画面広告です。インタースティシャルのeCPMは$3-15ですが、慎重な配置が必要です — 頻繁な表示はユーザーを不快にさせます。Googleは頻度を制限しています:1分間に1回まで。Googleによると、適切な配置ではインタースティシャルによるユーザー維持率の低下は5%未満です。
Rewarded(リワード広告) — 視聴と引き換えにユーザーがボーナス(追加ライフ、コイン、プレミアムアクセス)を受け取る動画です。最も高単価なフォーマットで、eCPM $10-30、ユーザーエンゲージメントも高く、80%のユーザーがリワード動画の視聴に同意します。重要:リワードはユーザーにとって有意義でなければならず、そうでなければ広告を視聴しません。Rewarded interstitial — ハイブリッドフォーマット(強制視聴なしのリワード)、SDK 21.0.0から利用可能です。
// RewardedAdの読み込みと表示
class RewardedAdManager {
private var rewardedAd: RewardedAd? = null
fun loadAd(context: Context) {
RewardedAd.load(
context,
"ca-app-pub-3940256099942544/5224354917",
AdRequest.Builder().build(),
object : RewardedAdLoadCallback() {
override fun onAdLoaded(ad: RewardedAd) {
rewardedAd = ad
}
override fun onAdFailedToLoad(
error: LoadAdError
) {
Log.d("AdMob", error.message)
}
}
)
}
}Native Ads — アプリのデザインに合わせて視覚的に調整される広告です。デベロッパーは見出し、説明、画像、コールトゥアクションボタンの配置を制御できます。ネイティブ広告は全フォーマットの中で最も高いCTR(0.5-2%)を達成し、アプリのUXに最適に統合されます。Google Mobile Ads SDKはネイティブ広告テンプレート(NativeTemplate)またはNativeAdOptionsによる完全な制御を提供します。ad_source_typeフォーマットはネイティブクリエイティブの配信元ネットワークを示します。
AdMob — モバイルアプリ向けのGoogle広告プラットフォームで、独立系デベロッパーと小規模スタジオ向けに設計されています。AdMobは入札による広告枠の自動補充、ウェブインターフェースによる簡単な設定、30以上の広告ネットワークとの統合メディエーションを提供します。最低支払い額:$100。AdMobは月額$100,000までの収益がある中規模スタジオを含む90%のデベロッパーに適しています。
Google Ad Manager — 独自の広告キャンペーン(ダイレクトディール)、プログラマティック保証、ソース優先順位付けを備えた大規模パブリッシャー向けの高度なプラットフォームです。Ad Managerは複数の広告サーバー、競争入札(App Bidding)、各広告主の詳細な分析をサポートします。Ad Managerを接続するには月間500万以上のインプレッションが必要です。Googleによると、Ad Managerは大規模パブリッシャーの収益をAdMobと比較して15-30%向上させます。
| 基準 | AdMob | Ad Manager |
|---|---|---|
| 対象 | 独立系デベロッパー | 大規模パブリッシャー |
| Direct deals | なし | あり |
| App Bidding | 制限あり | 完全 |
| トラフィック基準 | 制限なし | 500万imp/月以上 |
| 分析 | 標準 | 拡張 |
AdMobからAd Managerに移行するには、アプリコードのAd Unit IDを変更するだけで十分です — SDKは同じ(Google Mobile Ads SDK)です。GoogleはAdMobから始め、月間収益が$10,000+に達した時点でAd Managerへの移行を検討することを推奨しています。App Bidding — Ad Managerの主要技術であり、すべての広告ネットワークが単一の入札で競争できるようにし、eCPMを10-40%向上させます。
メディエーション(Ad Mediation) — Google Mobile Adsの技術で、1つのAd Unitに複数の広告ネットワークを接続できます。SDKが広告をリクエストすると、ネットワークを順番に照会します:最初にGoogle Ads、次にパートナーネットワーク(Facebook Audience Network、Unity Ads、AppLovin、IronSource、Mintegralなど)、このユーザーに対して最も高い入札額のネットワークを選択します。
Google Mobile Ads SDKはアダプターを介して30以上の広告ネットワークのメディエーションをサポートしており、これらは個別のGradle依存関係として読み込まれます。各アダプターは統一されたGoogleインターフェースを実装しており、SDKが任意のネットワークと一貫して動作できるようにします。Googleによると、メディエーションはAdMobのみを使用する場合と比較して総広告収益を15-50%向上させます。App Bidding — メディエーションのより高度なバージョンで、すべてのネットワークが順番ではなく同時に単一の入札に参加します。
// メディエーション設定(build.gradle)
dependencies {
implementation "com.google.android.gms:play-services-ads:23.3.0"
// メディエーション用アダプター
implementation "com.google.ads:mediation-facebook:6.17.0.0"
implementation "com.google.ads:mediation-unity:4.10.0.0"
implementation "com.google.ads:mediation-applovin:12.3.0.0"
}
// Mobile Ads SDKの初期化
MobileAds.initialize(this) {
Log.d("AdMob",
"Initialized: $it")
}重要な点:メディエーションはSDKが複数のネットワークを順番に照会するため、広告表示のレイテンシを増加させます。バナーの場合は深刻ではありません(許容遅延は最大2秒)が、インタースティシャルやリワードでは1秒を超える遅延により表示確率が低下します(ユーザーが画面を離れる可能性があります)。Googleは遅延を最小化するために順次メディエーションの代わりにApp Biddingを使用することを推奨しています。App Biddingはすべての入札を100〜200ミリ秒で並列処理します。
Google Mobile AdsのAndroidアプリへの設定は、build.gradleにplay-services-ads依存関係を追加し、ApplicationクラスでSDKを初期化することから始まります。Google Mobile Ads SDKにはAndroid 5.0(API 21)およびGoogle Play Servicesバージョン21.0.0+が必要です。SDKはできるだけ早く(Application.onCreate()内で)初期化することを推奨します — アプリ起動と並行して広告を読み込むためです。
SDKの初期化後、デベロッパーはAdMobまたはAd ManagerのウェブインターフェースでAd Unitを作成し、アプリのレイアウトにAdViewを埋め込む(バナーの場合)、またはプログラムでInterstitialAd/RewardedAdを読み込みます。重要:開発時はテスト用Ad Unit IDを、公開後は本番用IDを使用してください。Google Mobile Ads SDKはAdMobコンソールのTest Devicesに追加されたデバイスによって自動的にテストモードを判別します。
// ApplicationクラスでのSDK初期化
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
MobileAds.initialize(this)
// GDPR同意モードの有効化
val params = RequestConfiguration.Builder()
.setTagForUnderAgeOfConsent(false)
.build()
MobileAds.setRequestConfiguration(params)
}
}
// XMLでのインラインバナー
// <com.google.android.gms.ads.AdView
// android:id="@+id/adView"
// android:layout_width="match_parent"
// android:layout_height="wrap_content"
// app:adUnitId="ca-app-pub-3940256099942544/6300978111"
// app:adSize="BANNER" />SDKとAd Unitsの設定後、デベロッパーはアプリにプライバシーポリシーを追加する必要があります — これはPlay Store公開のためのGoogleの必須条件です。また、EEAおよび英国のユーザーからデータ処理の同意を収集するためのUMP SDK(User Messaging Platform)の統合も必要です。UMP SDKがない場合、Googleはパーソナライズド広告の表示を制限し、eCPMが40-60%低下する可能性があります。
Google Mobile Adsは、欧州経済領域(EEA)、英国、米国(CCPA/CPRA)、その他データ保護法がある地域のユーザーに対してプライバシールールの遵守を要求します。主要なツールはUser Messaging Platform(UMP)SDKで、広告パーソナライゼーションのためのデータ収集と処理に関する同意ダイアログをユーザーに表示します。
パーソナライゼーションに対するユーザーの同意を得られない場合、Google Mobile Ads SDKは非パーソナライズド広告のみを表示し、eCPMが40-60%低下します。TCF v2.0(Transparency & Consent Framework)は、広告システム間で同意シグナルを伝達するためのIAB Europeの標準です。Google Ad Managerは自動的にTCF v2.0をサポートしています。AdMobの場合は、FORMS_PUBLISHER_IDパラメータを使用したUMP SDKによる統合が必要です。
// UMP SDKユーザー同意リクエスト
val consentInfo = UserMessagingPlatform.getConsentInformation(this)
consentInfo.requestConsentInfoUpdate(
context,
ConsentRequestParameters.Builder()
.setTagForUnderAgeOfConsent(false)
.build()
) { error ->
if (error != null) return@requestConsentInfoUpdate
if (consentInfo.isConsentFormAvailable()) {
UserMessagingPlatform.loadAndShowConsentFormIfRequired(
activity,
activity.getOnConsentFormSuccess(),
activity.getOnConsentFormFailure()
)
}
}追加要件:カリフォルニア州(CCPA)のユーザーに対して、Googleは「Do Not Sell My Personal Information」オプションのサポートを要求しています。子ども向け(COPPA)の場合は、tagForChildDirectedTreatmentの有効化が必要です。Google Play Storeは、広告を含むすべてのアプリにプライバシーポリシーとGoogle Play Consoleへのリンクを要求しています。これらの要件に違反すると、広告表示がブロックされたり、アプリがPlay Storeから削除されたりする可能性があります。
ユーザーリワード処理を含むリワード広告統合の完全な例です。アプリは起動時にリワード動画を読み込み、「ボーナスを獲得」ボタンをクリックすると表示し、完全視聴後にユーザーにコインを付与します。コードは非同期読み込みにコルーチンを使用し、ユーザーが既にリワードを受け取っている場合に広告を表示しないようにチェックします(二重リワード防止)。
class RewardViewModel : ViewModel() {
private var rewardedAd: RewardedAd? = null
private val _rewardEarned = MutableLiveData<Boolean>(false)
val rewardEarned: LiveData<Boolean> = _rewardEarned
fun loadRewardedAd(context: Context) {
RewardedAd.load(context, AD_UNIT_ID,
AdRequest.Builder().build(),
object : RewardedAdLoadCallback() {
override fun onAdLoaded(ad: RewardedAd) {
rewardedAd = ad
}
}
)
}
fun showAd(activity: Activity) {
rewardedAd?.show(activity, {
// ユーザーがリワードを受け取りました
_rewardEarned.postValue(true)
addCoins(100)
loadRewardedAd(activity) // Preload next
})
}
}リワード広告のベストプラクティス:現在の広告が閉じられたらすぐに次の広告をプリロードします(ユーザーに読み込み待ちをさせません)。リワード動画はリワードが明確なコンテキストでのみ表示します(例:「100コイン獲得のために広告を視聴」ボタン)。Googleはユーザーの明示的なリクエストなしにリワード広告を表示することを禁止しています(自動再生は禁止)。onUserEarnedRewardコールバックを確認し、その後にのみリワードを付与してください。
Google Mobile Adsからの収益最適化は、適切な広告フォーマットの選択から始まります。バナー(安定した背景収益)とリワード動画(アクティブなエンゲージメント)の組み合わせが最大の総収益をもたらします。インタースティシャルは自然な区切りでのみ使用し、セッションあたり3〜4回を超えないようにします。Firebase向けGoogle Analyticsを使用すると、どの画面が最も収益をもたらし、ユーザーがどこで広告を閉じるかを追跡できます。
2つ目の重要な要素はメディエーションです。AdMobメディエーションを通じて3〜5の広告ネットワークを接続してください。Googleによると、メディエーションを利用するアプリは30%多く収益を得ています。App Bidding(Ad Managerおよび一部AdMobで利用可能)は同時入札により追加で10-40%の向上をもたらします。A/Bテスト広告配置の:バナーの異なる位置(上部/下部、左/右)や、ユーザーセグメントごとのインタースティシャル頻度をテストしてください。
3つ目の要素はジオターゲティングです。米国、カナダ、オーストラリアのeCPMはインドやインドネシアの3〜5倍です。アプリが低eCPM地域で人気がある場合、Googleはそれらの地域のネットワーク(例:インド向けInMobi)を使用したウォーターフォールメディエーションを推奨しています。フリークエンシーキャップを設定してください:2分間に1回までのインタースティシャル、1時間に5回までのリワード動画 — これによりユーザーの広告疲れを軽減できます。
よくある質問
適切な統合におけるユーザーあたりの平均収益は$0.50-2.00月額です。フォーマットを組み合わせて使用します:基本収益にはバナー、アクティブな収益化にはリワード動画、自然な区切りにはインタースティシャル。メディエーションとGDPR対応のUMP SDKは必ず接続してください。最も高い収益は米国と欧州のユーザーから得られます。
主な要件:AdMobアカウント、アプリ内のプライバシーポリシー、EEAユーザーの同意のためのUMP SDK統合、Google Play Consoleでのアプリの年齢レーティング。Google Play Storeでは、広告を含むすべてのアプリが公開時にこれを明示し、Google Adsの不適切なコンテンツポリシーに従う必要があります。
App Bidding — すべての広告ネットワークが同時に広告表示の入札に参加する技術です。勝者は100〜200ミリ秒で決定されます。順次メディエーション(ネットワークを順番に照会)とは異なり、App Biddingは収益を10-40%向上させ、表示遅延を低減します。App BiddingはGoogle Ad Managerおよび一部AdMobで利用可能です。
低いeCPMの原因:ユーザーの地域(アジアやアフリカではeCPMが低い)、不適切なフォーマット(バナーはリワードより低い)、メディエーションの欠如(AdMobのみ)、UMPの設定ミス(パーソナライゼーションの同意なし)、または広告ブロッカーの割合が高い。AdMob分析を確認し、App Biddingを設定してください。
はい、ただし制限があります。アプリはRequestConfigurationでtagForChildDirectedTreatment(true)を有効にする必要があります。Googleはパーソナライゼーションなしの安全な広告のみを表示します。子ども向けアプリのeCPMは60-80%低くなります。Google Play Consoleでアプリのターゲットオーディエンスを指定する必要があります。COPPA違反はAdMobアカウントのブロック対象となります。
まとめ
ターンキー方式のモバイルアプリケーションを開発します
IT Sectrは2017年からスタートアップや企業向けにiOS・Androidアプリケーションを開発しています。私たちがご相談に乗り、最適なソリューションをご提案します。