【monaca】AppTrackingTransparencyの実装方法【IDFA対応】

【monaca】AppTrackingTransparencyの実装方法【IDFA対応】

※ 本ページにはアフィリエイト広告(PR)が含まれます。

こんにちは、Stacaの中の人です。

monacaで作ったアプリのAppTrackingTransparency対応について、実装経験をシェアします。iOS 14.5のリリースから10年以上が経過した2026年現在、AppTrackingTransparency(ATT)はiOSアプリ開発における必須要件として完全に定着しています。


iOS 14.5以降、AdMobなどの広告サービスを組み込むアプリケーションはAppTrackingTransparencyの実装が必須となっています。2026年現在、EUのDGA(デジタルガバナンス法)やプライバシー規制のグローバル化により、プライバシー保護の要件はさらに厳格化されており、App Storeの審査基準も並行して強化されています。新規開発や既存アプリのメンテナンス時には、この実装への対応は避けられません。

2026年現在でも、AppTrackingTransparencyが適切に実装されていないことを理由とするリジェクトは日常的に発生しています。当時の実装経験をもとに、2026年時点での推奨される実装方法をご紹介します。

1. Appのプライバシーを登録


AppStoreConnectの「Appのプライバシー」で必要項目を登録します。

Appのプライバシー

ここで登録した内容はAppStoreのアプリ詳細ページに表示され、ユーザーが安心してアプリをダウンロードするための重要な情報となります。プライバシーポリシーと登録内容の一貫性を保つことが審査通過の必須条件です。

プライバシー設定の正確な入力方法については、公式ドキュメントおよび多くのリソースで詳細に解説されています。特にAdMobを利用する場合、プライバシー設定にはいくつかの選択肢があり、アプリの実装内容と正確にマッピングすることが重要です。
AdMob利用時の「Appのプライバシー」の入力方法虎の巻

2. Google Mobile Ads SDKをアップデート


App Tracking Transparencyを利用するには、十分に新しいバージョンのGoogle Mobile Ads SDKが前提条件となります。2026年現在、Google Mobile Ads SDKは継続的にアップデートされており、最新バージョンではATTに加え、プライバシーサンドボックス対応、より詳細な広告トラッキング制御、iOS18への対応が実装されています。

monacaでのAdMob SDKの導入方法は、バージョンや環境により異なります。かつてはSDKをダウンロードしてソースコードを手動で差し替えるという煩雑な手順が必要でしたが、2026年現在ではCordovaプラグイン経由での導入がスタンダードとなっています。

UIWebViewはiOSのサポート終了に伴い完全に廃止され、WKWebView環境での実装が標準となっています。モダンなmonaca環境では、メンテナンスが継続されている最新のCordovaプラグインを直接導入することで、Google Mobile Ads SDKの最新版を利用できます。

推奨Cordovaプラグイン

以下のプラグインはメンテナンスが継続されており、最新のiOS要件に対応しています。GitHub上の活発なプロジェクトを選択することで、iOS17、iOS18といった最新バージョンの動作要件の変更に確実に対応できます。

Google Mobile Ads SDK

jarodms/cordova-admob-sdk

AdMob Free

jarodms/cordova-plugin-admob-free

3. そのまま審査へ ⇒ 当然リジェクト


AdMob SDKをアップデートしただけの状態で審査に提出すると、ほぼ確実にリジェクトされます。2026年時点のApp Storeの審査ガイドラインは一層厳格であり、トラッキングデータを扱う全てのアプリケーションに対してApp Tracking Transparencyフレームワークの実装を無条件で要求しています。

当時のリジェクト理由は2026年現在も変わりません。

Guideline 5.1.2 - Legal - Privacy - Data Use and Sharing

Guideline 5.1.2 - Legal - Privacy - Data Use and Sharing

要約すると「広告配信やユーザートラッキングを実施する場合、必ずApp Tracking Transparencyフレームワークを実装してユーザーの同意を取得する必要がある」ということです。この要件は今後さらに厳格化される見通しです。

4. ATT フレームワークの実装


App Tracking Transparencyフレームワークの実装方法は、開発言語やプラットフォームによって異なります。SwiftやFlutter、React Native、Unityなどの実装例はネット上に多く存在しますが、2026年現在もmonacaでの実装例は限定的です。ただし、基本的なアプローチはプラットフォームを問わず共通しています。

以下の方法で実装可能です。

SKAdNetworkを有効にする

SKAdNetworkはAppleが提供する広告アトリビューション機能で、プライバシーを保護しながら広告効果測定を行う仕組みです。2026年現在、SKAdNetworkは広告測定の標準的な手段として業界に定着しています。
https://developers.google.com/admob/ios/ios14#skadnetwork
「config.xml」にSKAdNetworkItemsを全て追記します。Google、Meta、TikTok、その他広告ネットワークのSKAdNetwork IDを網羅的に登録することで、App Store Connect上でのアプリパフォーマンス分析が可能になります。

cordova-plugin-idfaの導入

chemerisuk/cordova-plugin-idfa

上記リンクのプラグインを導入することで、iOSのApp Tracking Transparencyダイアログを制御できます。このプラグインはメンテナンスが継続されており、最新のiOSバージョンに対応しています。

プラグインのドキュメントに記載されている通り、NSUserTrackingUsageDescriptionを定義し、システムダイアログのメッセージをinfo.plistに追記するよう「config.xml」を設定します。

Exampleコードに示されているjavaScriptのソースをIDFA取得ダイアログを表示したいタイミングに挿入します。

IDFA取得ダイアログの前に事前説明

アプリ起動時にシステムダイアログを表示するだけでは、ユーザーが突然のダイアログ表示に困惑し、詳しく理解しないまま「許可しない」を選択する可能性が高まります。

ユーザー体験を損なわないよう、事前説明ダイアログを表示してからシステムダイアログを呼び出すという二段階のアプローチが推奨されています。これはTwitter、YouTube、Instagramなど、大手アプリの標準的な実装パターンです。

事前説明ダイアログ

IDFA事前説明ダイアログ

IDFA取得ダイアログ

IDFA取得ダイアログ

ダイアログ中央の英語メッセージ「The identifier will be 〜」はiOSシステムが自動生成するもので、「NSUserTrackingUsageDescription」で定義した文字列に基づいています。多言語対応も可能ですが、実装の複雑さを考慮すると、英語メッセージのままでも審査上問題となることはほぼありません。

ユーザーが許可した場合の設定変更

ユーザーがIDFA取得ダイアログで「許可」を選択した場合、iOSの設定アプリケーション内で「プライバシー」>「トラッキング」>「トラッキングを許可」がONになります。
許可を押した場合のアプリ設定

5. またもリジェクト、、、からの審査OK!


ATTフレームワークの実装が完了したので再度審査に提出しました。ただし、再び異なる理由でリジェクトされました。

App Storeの審査プロセスは多段階的であり、一つの要件をクリアしても別の観点からの指摘が発生することは珍しくありません。

Guideline 2.1 - Information Needed

Guideline 2.1 - Information Needed

「App Tracking Transparencyフレームワークの実装は確認できたが、具体的にいつのタイミングでIDFA取得ダイアログが表示されるのか、詳しく説明してください」というのが、審査チームからの指摘でした。

「アプリを初回起動すれば表示されるんですが...」と思いながらも、審査チームへの対応メモに以下を記載して再審査に提出しました。

- About IDFA acquisition timing -
AppTrackingTransparency requests are displayed the first time you launch the app.
Thank you for your confirmation.

翌営業日、ようやく審査が承認され、アプリケーションを無事にリリースすることができました。

2026年現在、Cordova、React Native、Flutterなどの開発フレームワークのメンテナンスサイクルはますます加速しており、依存するライブラリやSDKの更新対応は開発者にとって継続的な課題となっています。

「ちょっとした機能追加でリリースするつもりが、iOS17やiOS18対応への対応に追われる」という状況は、Cordova利用時に避けられません。プラグインの互換性問題、Apple独自の審査基準の変更、プライバシー規制の強化など、予期せぬ課題が次々と発生するため、事前の十分な計画と検証が必須です。

ITエンジニアのキャリアアップを検討しているなら

レバテックキャリアに無料登録

PR




PR


HOME スマホアプリ開発ブログ SE入門講座 プログラミングスクール フリーSE案件サイト SEおすすめ書籍