[SwiftUI]サクッと実装するATT(AppTrackingTransparency)

iOSアプリ

「とりあえず、ATTを実装したい」

そういった人に向けての記事です。

どうも、ちょげ(@chogetarou)です。

iOSアプリでは、ATTというのを実装しないといけなくなりました。

これのせいで、リジェクトされるのですが、色々と実装方法を検索しても結構大変そうなんですよね。

そこで、ATTを簡単に実装する方法を紹介します。

スポンサーリンク

実装

アラート表示

まず、AppDelegateクラスを作ります。

import GoogleMobileAds
import AdSupport
import AppTrackingTransparency

class AppDelegate: NSObject, UIApplicationDelegate {
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
        
        if #available(iOS 14, *) {
           //許可をもらう処理
            ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
                GADMobileAds.sharedInstance().start(completionHandler: nil)
            })
        } else {
          //iOS14.0以前の場合
            GADMobileAds.sharedInstance().start(completionHandler: nil)
        }

        //別の処理

        return true
    }
}

次に〜App .swiftファイルにコードを追加します。

@main
struct 〜App: App {
    //追加のコード
    @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
    
    var body: some Scene {
        WindowGroup {
            ContentView()
                .environment(\.managedObjectContext, persistenceController.container.viewContext)
        }
    }
}

これでアプリ起動時にアラートが表示される処理は出来ました
*ここまでだとエラーになるかもしれません

アラートの内容

アラートの内容を作っていきます。

Info.plistファイルに、Privacy – Tracking Usage Descriptionというキーを追加します。

そこに、アラートの内容を記述します。

アラートの内容は、ガイドラインに沿ったものにしないといけません。

めんどくさいぜ!という人は、ユーザにあった広告が表示されるということを伝えれば大丈夫です。

メインの言語が、英語なら文言は英語の文言にしてください。

そして、InfoPlist.stringsファイルに日本語文を追加してください。

NSUserTrackingUsageDescription = "お客様の興味関心に合わせた広告を表示するために利用します";

メインの言語が日本語なら逆ですね。

スポンサーリンク

最後に

ここまでの手順で私自身が実際に審査に出してみたのですが、一応通りました。

この記事で紹介したのは、アプリの起動時に許可を取る方法です。

もっとアラートの出し方は工夫をすることが出来るようなので、興味のある方はぜひトライしてみてください。

読んで頂きありがとうございます!

少しでも参考になれば嬉しいです。

では、サラダバー!

コメント

タイトルとURLをコピーしました