はじめに
概要
Capacitor 向けのコミュニティ製ネイティブ AdMob プラグインです。iOS と Android の Google Mobile Ads SDK をラップし、Capacitor アプリでバナー、インタースティシャル、リワード、リワード付きインタースティシャル、アプリ起動時広告を表示できます。
機能
- バナー広告(アダプティブバナーを含む)
- インタースティシャル広告
- リワード動画広告
- リワード付きインタースティシャル広告
- アプリ起動時広告
- Google User Messaging Platform(UMP)による同意
- App Tracking Transparency(iOS のトラッキング許可)ヘルパー
目的から選ぶ
| 目的 | 広告形式 | ガイド |
|---|---|---|
| アプリのコンテンツと並べて広告を出し続ける | バナー | バナー広告 |
| 報酬なしで、自然な区切りにフルスクリーン広告を出す | インタースティシャル | インタースティシャル広告 |
| 専用のリワード体験を提供する | リワード | リワード広告 |
| 自然な遷移で報酬を提供する | リワード付きインタースティシャル | リワード広告 |
| アプリ起動の体験を収益化する | アプリ起動時 | アプリ起動時広告 |
クイックスタート
インストール のあと、SDK を初期化し、同意を取り、バナーを表示します。
import { AdMob, AdmobConsentStatus, BannerAdOptions, BannerAdSize, BannerAdPosition } from '@capacitor-community/admob';
async function startAdMob() {
await AdMob.initialize();
let consentInfo = await AdMob.requestConsentInfo();
if (consentInfo.isConsentFormAvailable && consentInfo.status === AdmobConsentStatus.REQUIRED) {
consentInfo = await AdMob.showConsentForm();
}
if (!consentInfo.canRequestAds) {
return;
}
const options: BannerAdOptions = {
adId: 'YOUR_AD_UNIT_ID',
adSize: BannerAdSize.ADAPTIVE_BANNER,
position: BannerAdPosition.BOTTOM_CENTER,
margin: 0,
};
await AdMob.showBanner(options);
}
バナーは WebView の上のネイティブ画面に載るため、HTML を覆うことがあります。レイアウトを空ける方法は バナー広告 を見てください。詳細は 初期化、同意管理、各形式のガイドです。
インストール
このプラグインには Google Mobile Ads SDK が同梱されています。パッケージを入れたあと、AdMob の アプリ ID を AndroidManifest / Info.plist に追加します。アプリ ID と SKAdNetwork(Apple の広告コンバージョン ID)は Google の Get started(Android / iOS)を見てください。Mobile Ads の依存関係を二重に足さないでください。
このプラグインは @capacitor-community/admob v8 と Capacitor 8 を対象にします。iOS 15 以降、Android API 24 以降に対応します。
npm install @capacitor-community/admob
npx cap sync
Capacitor 7 を使う場合は @capacitor-community/admob@7 をインストールします。
Google Mobile Ads SDK の版
このメジャーでは Android の Google Mobile Ads SDK を 25.4.x、iOS を 13.6.0(Swift Package Manager と CocoaPods)に固定しています。必要がない限り上書きしないでください。Android 向け Next-Gen SDK は次のプラグインメジャーまで待ちます。固定の方針は 移行 を見てください。
Android の設定
android/app/src/main/AndroidManifest.xml の <application> 内に追加します。
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="@string/admob_app_id" />
android/app/src/main/res/values/strings.xml に次を追加します。
<string name="admob_app_id">[APP_ID]</string>
[APP_ID] は広告ユニット ID ではなく、AdMob の アプリ ID に置き換えます。
変数
未設定のままで構いません。特定のアーティファクト版が必要なときだけ、アプリの variables.gradle で上書きします。
| 変数 | アーティファクト | デフォルト |
|---|---|---|
playServicesAdsVersion |
com.google.android.gms:play-services-ads |
25.4.+ |
userMessagingPlatformVersion |
com.google.android.ump:user-messaging-platform |
4.0.0 |
androidxCoreKTXVersion |
androidx.core:core-ktx |
1.15.0 |
iOS の設定
ios/App/App/Info.plist の最外層 <dict> 内に追加します。
<key>GADIsAdManagerApp</key>
<true/>
<key>GADApplicationIdentifier</key>
<string>[APP_ID]</string>
<key>SKAdNetworkItems</key>
<array>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>cstr6suwn9.skadnetwork</string>
</dict>
</array>
<key>NSUserTrackingUsageDescription</key>
<string>This identifier will be used to deliver personalized ads to you.</string>
[APP_ID] を AdMob アプリ ID に置き換え、NSUserTrackingUsageDescription に実際の利用目的を記載します。
SKAdNetworkItems の例は Google 自身の identifier だけです。残りの ID は Google の iOS セットアップガイド から追加します。
トラブルシューティング
CocoaPods が Google-Mobile-Ads-SDK を解決できない場合:
[error] Error running update: Analyzing dependencies
[!] CocoaPods could not find compatible versions for pod "Google-Mobile-Ads-SDK":
ios/ で pod repo update を実行してから、npx cap sync ios を再実行します。
ドキュメント
上の インストール から始め、広告をロードする前に 初期化 と 同意管理 を見てください。形式は上の表から選びます。同じガイドは ドキュメントサイト(英語と日本語)にもあります。npm でこの README を開いている場合は、ガイドはサイトを使ってください。docs/ のファイルは GitHub リポジトリにあります。メソッドのシグネチャは API 節にあります。