iOSアプリ審査でAppTrackingTransparency対応(ATT対応)を求められて焦ってやり方を探している方へ

この記事ではUnityでUnityAdsを使っているアプリでのAppTrackingTransparency対応(ATT対応)方法を書いています。

今週(2021/4/29)、一生懸命作ったアプリをAppleの審査に出したところ、新しく始まったiOS14のガイドラインであるIDFAへのアクセス対応をもとめられました。 調べてみると最近必須になったようで、未対応はリジェクトになります。

初めてアプリを起動する時などに、広告にIDFA(広告用の識別IDです)へアプリがアクセスすることをユーザーに示して、許可をもらえれば追跡型広告などが利用できます。UnityAdsもIDFAを使うので、対応が必要というわけです。

これを出したい。

参考にできそうなサイトを探しましたが、必須になったばかりだからか、まだあまり情報がなく、サンプルコードもAdmob用の記事だったり、エラーが出たりして自分のアプリではスパッと行けるドキュメントが無かったので、苦労しました。
試行錯誤の結果、アプリの審査を無事通過したのでまとめます。

そんなに詳しくないので、不要なことをしているかもしれません…。

◆やること(1時間程度でした)

  • Unityのプラグインのバージョンを上げる
  • ios-supportライブラリを導入
  • 広告関連よりも前の部分にios-support用のコードを貼り付け
  • Xcode用にビルド
  • XcodeでFrameworkを2つ設定
  • Xcodeで Info.plistにダイアログに出す「使い道」を記入

◆UnityのAdvertisement 3.5.2以降 にあげます。

Package Manager から Advertisementを確認してバージョンを確認しましょう。ATT対応にはSKAdNetworkIdentifierをアプリ内に記述することという対応が必要なのですが、Advertisement 3.5.2以降 があれば自動で対応されるので大丈夫です。

下記の記事を参考にios-supportライブラリを導入します。

下記の記事の「3.アプリ追跡の透明性リクエストのトリガー」まで進めます。
コードを追加する場所は広告周りを扱うクラスのstart()の最初などでいいと思います。

Unityでのアプリ追跡の透明性(IDFAポップアップ)| アラン・イェイツ| Pocket SizedHandsの共同創設者| VR / AR開発者
https://alanyeats.com/post/unityapptrackingtransparencypopup/

GitHub-Unity-Technologies / com.unity.ads.ios-support:Apple iOS14で新しく導入されたAppTrackingTransparencyとSkAdNetworkAPIのサポートを提供します。
thttp:// https://github.com/Unity-Technologies/com.unity.ads.ios-support

◆これでUnityでの作業は終わりでビルドしてXcodeに移ります。

Xcodeへ移動してからの設定は下記のサイトを参考にさせていただきました。

【Unity】[iOS] IDFA へのアクセス許可設定 | hirokuma.blog
https://hirokuma.blog/?p=3003#toc5

Xcodeでは FrameWorkの追加とInfo.plistを設定します。

この作業はUnityでビルドするたびに必要になります。

フレームワークは以下の2つを足します。

AdSupport.framework
AppTrackingTransparency.framework

Info.plistはPrivacy – Tracking Useage Description項目を増やし値を入力します。
値は「 お好みの広告を表示するために使います。」 としました。

この時、⌘+Sで保存してからビルドして下さい。
この項目が空欄の場合、ダイアログが出ない動きになるのですが、保存せずに他の項目に移動しビルドすると、入力した値が項目ごと消えてしまう事があり、実機にて、なぜダイアログが出ないのか、と悩むことになります。

最後は実機でアプリを実行すればダイアログが出て対応完了です。

1つのアプリで1回しかダイアログは出ないので、何度か確認したい場合は実機からアプリを削除し再インストールする、と書いてある記事もありますが、アプリの削除&再インストールでは必ず再度ダイアログを出すことはできませんでした。

Bundle identifierを変えると別アプリと認識されるので何度でも確認が出来ました。ダイアログ表示のテスト時だけXcode上のBundle identifierを変えると必ずダイアログが出せるのでやりやすいかと思います。

この対応が終わり、許可設定をしたアプリは実機の
設定 > プライバシー > トラッキング
のところに並びます。アプリを削除するとこの一覧から消えます。
が、前述の通り、アプリを削除し、この一覧から消えている状態から再度実機インストールしてもポップアップが出ないことがありました。再起動やリセットをしましたが関係ありませんでした。

せっかくいいアプリを作ったのに最後に急に実装事項が増えて、しかも対応方法がわからず、アプリの公開ができない、なんてことになるのはとても悲しいと思いますので、少しでも役に立てたらと思います。

プロプログラマーではないので誤った情報を書いてしまっていたらごめんなさい。コメントとかで教えてください。
おわります…φ(‘A`)

One thought on “iOSアプリ審査でAppTrackingTransparency対応(ATT対応)を求められて焦ってやり方を探している方へ”

  1. 友達とうさぎの話をしていて、ふとハンマーヘッドロップの事を思い出しました。
    懐かしさと尊さで死にそうです…

    ハンマーヘッドロップゥ!と勢い銘打ったサイト…可愛いキャラクター達…
    学生の頃、たまたま見つけたHHRのアプリで一人で遊び、その話題がきっかけで恋人が出来て、色々な経験をして今を生きています。
    当時付き合ってた恋人とも、とっくに音信不通ですし、なんなら僕自身も二度と鬱病から自殺を図りました笑
    あまり笑えないかもしれないですけれど、久しぶりに検索して、ミミたんさんがいらっしゃって、変わらずな口調で日記を書いていらっしゃるのを見て、とてもノスタルジックな気分に浸っています。
    (学生時代とは違い、今はビールも片手に、ですが笑)
    ハンマーヘッドドロップをはじめ、可愛いデザインとなかなかに鬼畜(?)なゲームデザインで凄く楽しめたのをありきたりですが、昨日の事のように思い出せます。

    幸い(?)にも僕は生きていて、またHHRのアプリで遊ぶ機会に恵まれました。
    サイトがあった魔法のiランド含めて15年以上でしょうか?
    長い年月が経って、ミミたんさんも楽しい事も苦しい事も、悲しい事もあったかと思います。
    簡単には言えないですよね。
    それでも、HHRと共にあった青春のお陰で僕は今生きています。
    誰だよおまえ!って感じかも知れませんが、一ユーザーとして、ファンとして、これからも沢山遊ばせて頂きます。
    (ホントに誰だよお前!って話ですが、ホントにただの一ファンです笑)

    長文を失礼しました。
    お身体をご自愛の程!

うなりくん へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。