IDFA対応 + Firebase/Admobをアップデートした話

iOS14で話題のIDFA対応
そして対応するFirebase/Admob SDKのアップデート
これを実施したのでやり方


・Admobのバージョン
以下に該当するでバージョンに上げる
>最新の iOS 向け Google Mobile Ads SDK(AdMob / アド マネージャー)をインストールしましょう。バージョン 7.64 以降には、iOS 14 対応に不可欠な機能が含まれています。

 

・cocoapods
Firebase/AdMobの中にGoogle-Mobile-Ads-SDK (~> 7.66)が入ってる
cocoapods1.10系に上げる必要があるので注意

+    pod 'FirebaseAnalytics', '~> 7.7.0'
+    pod 'FirebaseCrashlytics', '~> 7.7.0'
+    pod 'Firebase/AdMob', '~> 7.7.0'

 

・Admobの対応
info.plistに追加

<key>SKAdNetworkItems</key>
<array>
    <dict>
        <key>SKAdNetworkIdentifier</key>
        <string>cstr6suwn9.skadnetwork</string>
    </dict>
</array>

 

・IDFA対応
header

+#import <AppTrackingTransparency/AppTrackingTransparency.h>
+#import <AdSupport/AdSupport.h>

code
@available(iOS 14.0, *)で14以上になる

- (void) requestIDFA {
    if (@available(iOS 14.0, *)) {
        switch (ATTrackingManager.trackingAuthorizationStatus) {
            case ATTrackingManagerAuthorizationStatusNotDetermined: {
                [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
                    //広告を再読み込み
                }];
                break;
            }
            default:
                break;
        }
    }
}

info.plist
Privacy – Tracking Usage Description
を選択しNSUserTrackingUsageDescriptionに入れた文章がダイアログに表示される
https://developer.apple.com/documentation/bundleresources/information_property_list/nsusertrackingusagedescription

 

参考
https://qiita.com/blackcat/items/df89421181a2a840961e
https://qiita.com/koooootake/items/e467be2c4f63ff605841
https://developers.google.com/admob/ios/ios14?hl=ja

関連記事:

Pocket