Flutter

[Flutter]AdMobのメディエーションでFacebook Audience Networkを導入するためのチートシート

Facebook Audience NetworkをAdMobのメディエーションするためには、公式のドキュメントが当然あるのですが、どうも間違っているような気がするのでここにまとめ直します。(いやお前が間違っているだろうというツッコミ大歓迎です。)

Android版実装ガイド

 

iOS版実装ガイド

 

なお、AdMob管理画面上、メディエーションの設定はすでに済んでいるものとします。

Android向け設定

プロジェクトレベルのbuild.gradle

buildscriptのrepositoriesにmavenCentral()を追加します。

buildscript { 
  ext.kotlin_version = '1.3.50' 
  repositories { 
    google() 
    jcenter() 
    mavenCentral() // これ 
  } 
}

appレベルのbuild.gradle

appレベルのbuild.gradleには、dependenciesに以下の1行を追記します。

dependencies { 
  implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" 
  implementation 'com.android.support:multidex:1.0.3' 
  implementation 'com.google.ads.mediation:facebook:5.10.0.0' // これ   
  // implementation 'androidx.annotation:annotation:1.0.0' // これじゃない 
  // implementation 'com.facebook.android:audience-network-sdk:6.+' //これじゃない 
}

Facebookのページには下2行を追記するように書かれていたのですが、どうもそれらではないようでした。

AdMobのページに書かれていたcom.google.ads.mediation:facebook:の方が正しいようです。

また、最新版は、6.4.0.0なようなのですが、私は多数以下のエラーが出て叱られたので、最低バージョンの5.10.0.0を使うことでビルドを通しました。

Duplicate class com.google.android.gms.measurement.internal.zzia found in modules jetified-play-services-measurement-base-18.0.0-runtime (com.google.android.gms:play-services-measurement-base:18.0.0) and jetified-play-services-measurement-impl-17.2.2-runtime (com.google.android.gms:play-services-measurement-impl:17.2.2)

AndroidManifest.xml

<application>タグに以下の属性を追記します。

<application 
  ・・・ 
  android:networkSecurityConfig="@xml/network_security_config"> // これ

network_security_config.xmlを新規作成

app/main/res/xml配下に、network_security_config.xmlファイルを追加し、以下の通り記載。

<?xml version="1.0" encoding="utf-8"?> 
<network-security-config> 
  <domain-config cleartextTrafficPermitted="true"> 
    <domain includeSubdomains="true">127.0.0.1</domain> 
  </domain-config> 
</network-security-config>

 

iOS向けの設定

Podfile

CocoaPodsのライブラリを読み込むため、Podfileに以下追記する。

target 'Runner' do 
  use_frameworks! 
  use_modular_headers! 

  flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) 
  pod 'GoogleMobileAdsMediationFacebook' # これ 
end

AppDelegate.swift

広告トラッキングを有効にする必要があるため、AppDelegate.swiftに以下のコードを追記します。

override func application( 
  _ application: UIApplication, 
  didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 
) -> Bool { 
  GeneratedPluginRegistrant.register(with: self) 
  FBAdSettings.setAdvertiserTrackingEnabled(true) // これ 
  return super.application(application, didFinishLaunchingWithOptions: launchOptions) 
}

Info.plist

Info.plistにSKAdNetworkの識別子を追記します。

<dict>
  <key>SKAdNetworkIdentifier</key> 
  <string>v9wttpbfk9.skadnetwork</string> 
</dict> 
<dict>
  <key>SKAdNetworkIdentifier</key> 
  <string>n38lu8286q.skadnetwork</string> 
</dict>

 

以上ですが、まだどこか間違ってるような気がするので、確認が取れたら更新します!

created by Rinker
¥4,048 (2022/01/17 11:11:30時点 楽天市場調べ-詳細)

-Flutter

© 2022 かずのアプリときどきキャンプ飯 Powered by AFFINGER5