📱

【Flutter/iOS】AdMobの広告最適化【必須級】

に公開

🔔 背景

AdMobを導入したFlutterアプリを iOS 向けにビルドしたところ、下記の警告が発生しました:

<Google> <Google:HTML> 49 required SKAdNetwork identifier(s) missing from Info.plist. See [Enable SKAdNetwork to track conversions] (https://goo.gle/enable-skadnetwork).

これは、IDFA(広告識別子)をユーザーが拒否した場合でも、広告のコンバージョン計測を可能にする Apple 提供の仕組み「SKAdNetwork」 の設定が足りていないという警告です。

🧠 IDFAとは?

  • IDFA(Identifier for Advertisers) は、iOS端末ごとに割り当てられた広告識別子
  • これを使えば広告のクリックやインストールの追跡が可能
  • ただし、iOS 14以降はユーザーに「トラッキング許可」のダイアログ表示が必須

📌 ユーザーが「Appにトラッキングを許可しない」を選ぶと、IDFAは取得できなくなる

🧩 SKAdNetworkとは?

Appleが提供する、ユーザーを特定せずに広告効果測定ができる匿名の仕組みです。

  • ユーザーのプライバシーを守る
  • IDFAを使わなくても、インストール計測などのコンバージョンが可能
  • AdMob、Google Ads、Facebookなどの広告ネットワークが対応済

⚙️ なぜ警告が出たのか?

AppleのSKAdNetworkを有効にするには、Info.plist に対応広告ネットワークのSKAdNetworkIdentifierを記述する必要があります。

記載がないと、AdMob などのSDKが警告を出します。

✅ 対応方法

ios/Runner/Info.plist を編集

以下のように <key>SKAdNetworkItems</key> を追加します。

<key>SKAdNetworkItems</key>
<array>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>cstr6suwn9.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>4fzdc2evr5.skadnetwork</string>
  </dict>
  <!-- 以下、省略。40-50個のdictを書く必要があります。 -->
</array>

必要なdictの最新のリストはこちらにあります:
👉 SKAdNetwork を有効にしてコンバージョンを測定する

🔍 2025年6月現在、49のSKAdNetworkIdentifierを追加する必要があります。

🎯 SKAdNetwork導入のメリット

比較項目 IDFAあり IDFAなし+SKAdNetwork IDFAなし(SKAdNetwork未対応)
インストール測定 ✅ 正確に可能 ✅ 匿名で可能(精度は限定的) ❌ 不可
リターゲティング ✅ 可能 ❌ 不可 ❌ 不可
ユーザー許可 必要(ATTダイアログが表示) 不要(プライバシー準拠) 不要(ただし効果なし)
トラッキング精度 高精度(個人単位) 低〜中(集計ベース) 無し
広告収益への悪影響 なし(最適化可能) ❌ 中(広告最適化に制限あり) ❌ 大(収益効率が著しく低下)

📝 まとめ

  • iOSのプライバシー強化により、IDFAの許可が得られないケースが増加
  • SKAdNetworkを導入すれば、広告の効果測定は可能
  • 警告を回避し、アプリの収益最大化を狙うならInfo.plistの設定は必須

Flutter/iOS + AdMobでアプリを配信している人は、ぜひ早めに対応しておきましょう!

おわりに

個人開発で超シンプルなゴルフメモアプリをリリースしています。
https://apps.apple.com/app/apple-store/id6746414134?pt=127781617&ct=zenn_1&mt=8
ラウンド時のスコアだけでなく、日頃の練習のちょっとした感覚や気づき、ゴルフにかかった費用、各クラブごとの意識や飛距離、を簡単にメモすることができます。

ぜひDLをお願いいたします!(レビューもいただくと大大大感謝感激雨あられです🥺)

🔗 参考リンク

Discussion