はじめに
iOS 14.5には、App TrackingTransparencyと呼ばれる新しいプライバシー機能があります。アプリでこの機能を使用して、ユーザーに追跡許可をリクエストできます。ユーザーが追跡にノーと言うと、アプリはAppleの広告主ID(IDFA)やハッシュ化されたメールアドレスなどの他の識別子を使用して、広告ターゲティングのアクティビティに関するデータを共有できなくなります。
アプリがエンドユーザーデータを収集し、アプリやWebサイト全体で追跡する目的で他の企業と共有する場合は、AppTrackingTransparencyフレームワーク。
詳細については、以下を参照してください。
要件
アプリトラッキングの透明性には、次の要件が必要です。
プラットフォーム
システム要件は次のとおりです。
- iOSまたはtvOSバージョン14.5以降
BrightcoveネイティブSDK
ネイティブSDKの最新バージョンを使用することをお勧めします。
- iOSまたはtvOSバージョン6.8.0以降のネイティブSDK
- 詳細については、 SDKリリースノート
IDFA の共有についてユーザーに確認する
以下に示すサンプルアプリは、アプリが広告主のID(IDFA)を使用できるかどうかを判断するために、App TrackingTransparencyアラートを表示する方法を示しています。
-
次のサンプルアプリのいずれかを開いて確認します。
IMA/BasicIMAPlayer-iOSのBaseViewController.swift、またはPulse/BasicPulsePlayer-iOSのViewController.swiftを開きます。IMA サンプルはviewDidLoadで許可を要求し、Pulse サンプルは状態が未決定の場合にUIApplication.didBecomeActiveNotificationでも再試行します。-
サンプルでは
ATTrackingManager.trackingAuthorizationStatusを確認し、ATTrackingManager.requestTrackingAuthorizationで許可を要求します。SDK が IDFA を使用するのは、返された状態が.authorizedの場合だけです。次の Swift ヘルパーはその流れを示します。アプリがアクティブなときに呼び出し、許可されたかどうかにかかわらず、完了ハンドラーで広告を読み込みます。import AppTrackingTransparency // Call from an active app, before requesting ads. func requestTrackingPermission(completion: @escaping () -> Void) { if #available(iOS 14.5, tvOS 14.5, *) { if ATTrackingManager.trackingAuthorizationStatus == .notDetermined { ATTrackingManager.requestTrackingAuthorization { status in // Only .authorized permits access to IDFA. Continue without it otherwise. DispatchQueue.main.async { completion() } } } else { completion() } } else { completion() } } - 古いiOSバージョンの場合、SDKは次の値を使用します
ASIdentifierManager.sharedManager.isAdvertisingTrackingEnabledIDFAを使用する必要があるかどうかを判断します。