【Xcode/Swift】リジェクト:Guideline 5.1.2 – Legal – Privacy – Data Use and Sharing

リジェクト内容

Guideline 5.1.2 – Legal – Privacy – Data Use and Sharing

We continued to find that your app privacy information you provided in App Store Connect indicates you collect data in order to track the user, including Crash Data. However, you do not use App Tracking Transparency to request the user’s permission before tracking their activity.

Starting with iOS 14.5, apps on the App Store need to receive the user’s permission through the AppTrackingTransparency framework before collecting data used to track them. This requirement protects the privacy of App Store users.

Next Steps

Here are two ways to resolve this issue:

– If you do not currently track, or decide to stop tracking, update your app privacy information in App Store Connect. You must have the Account Holder or Admin role to update app privacy information.

– If you track users, you must implement App Tracking Transparency and request permission before collecting data used to track. When you resubmit, indicate in the Review Notes where the permission request is located.

Resources

– Tracking is linking data collected from your app with third-party data for advertising purposes, or sharing the collected data with a data broker. Learn more about tracking.
– See Frequently Asked Questions about the new requirements for apps that track users.
– Learn more about designing appropriate permission requests.

Please see attached screenshot for details.

ガイドライン5.1.2-法的-プライバシー-データの使用と共有

App Store Connectで提供したアプリのプライバシー情報は、クラッシュデータなど、ユーザーを追跡するためにデータを収集していることを示しています。ただし、App Tracking Transparencyを使用して、ユーザーのアクティビティを追跡する前にユーザーの許可を要求することはありません。

iOS 14.5以降、App Storeのアプリは、追跡に使用されるデータを収集する前に、AppTrackingTransparencyフレームワークを介してユーザーの許可を受け取る必要があります。この要件は、AppStoreユーザーのプライバシーを保護します。

次のステップ

この問題を解決する2つの方法があります。

-現在追跡していない場合、または追跡を停止する場合は、App StoreConnectでアプリのプライバシー情報を更新してください。アプリのプライバシー情報を更新するには、アカウント所有者または管理者の役割が必要です。

-ユーザーを追跡する場合は、追跡に使用するデータを収集する前に、App Tracking Transparencyを実装し、許可をリクエストする必要があります。再送信するときは、レビューノートに許可リクエストの場所を示してください。

資力

-トラッキングとは、アプリから収集したデータを広告目的でサードパーティのデータとリンクしたり、収集したデータをデータブローカーと共有したりすることです。追跡の詳細をご覧ください。
-ユーザーを追跡するアプリの新しい要件については、よくある質問をご覧ください。
-適切な許可リクエストの設計の詳細をご覧ください。

詳細については、添付のスクリーンショットを参照してください。

簡単にいうと、ユーザーをトラッキングしたり、広告をつけるなら、Appにトラッキングしていいかのアラートを表示させろということです。

AdMobで広告をつけているアプリだと、この対応は必要になってきます。この対応をしないとそのユーザー好みの広告が表示されなくなります。ちなみにですが、好みの広告を表示させると、1.3倍くらい収益が上がるそうです。

Appにトラッキングしていいかのアラートというのは、これのことです。

ただこれを表示するだけで、一応このリジェクトはクリアできます。

対応方法

先ほどのアラートを表示させる対応です。

今回は、SwiftUI、Storyboardそれぞれで対応方法を記載していきたいと思います。AppDelegateを使った実装でも良いのですが、今回はより簡単な実装方法を紹介します。

Storyboard

STEP.1
Info.plistに追加

①Info.plistを選択
②プラスボタンをクリック


追加した行のKeyに、Privacy - Tracking Usage Description

Valueに許可するとあなたの好みの広告が表示されやすくなります。

と入力してください。

STEP.2
import
import AppTrackingTransparency

STEP.3
アラートを表示させる
override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
    })
}

この中で広告を呼び出すことで、そのユーザー好みの広告が表示されるようになります。そのやり方は別途記事にします。

STEP.4
実行

念のため、アプリを一度削除してからもう一度実行してみてください。
→なぜか、自分の方では、そうしないとうまくいかなかった?

そうすると、このように、アラートが表示されるはずです。

これで、おそらくリジェクトはクリアできたかと思います。

SwiftUI

続いてSwiftUIのやり方も紹介します。それほどやり方は変わりません。

STEP.1
Info.plistを追加

①プロジェクトを選択
②TARGETSを選択
③Infoを選択
④プラスボタンをクリック


追加した行のKeyに、Privacy - Tracking Usage Description

Valueに許可するとあなたの好みの広告が表示されやすくなります。

と入力してください。

STEP.2
import
import AppTrackingTransparency

STEP.3
アラートを表示させる
.onReceive(NotificationCenter.default.publisher(for: UIApplication.didBecomeActiveNotification)) { _ in
    ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in })
}

この中で広告を呼び出すことで、そのユーザー好みの広告が表示されるようになります。そのやり方は別途記事にします。

STEP.4
実行

念のため、アプリを一度削除してからもう一度実行してみてください。
→なぜか、自分の方では、そうしないとうまくいかなかった?

そうすると、このように、アラートが表示されるはずです。

これで、おそらくリジェクトはクリアできたかと思います。