同意の実装
モバイルアプリに同意を実装する方法を説明します。
Adobe Experience Platform Consent モバイル拡張機能は、Adobe Experience Platform Mobile SDK と Edge Network 拡張機能を使用する際に、モバイルアプリから同意設定を収集できます。 詳しくは、 同意拡張 」を参照してください。
前提条件
- SDK が正常に構築され、インストールされ、設定された状態でアプリが実行されました。
学習内容
このレッスンでは、次の操作を実行します。
- ユーザーに同意を求めるプロンプトを表示します。
- ユーザーの応答に基づいて拡張機能を更新します。
- 現在の同意状態を取得する方法を説明します。
同意を求める
チュートリアルを最初から実行した場合は、同意拡張機能のデフォルトの同意がに設定されていることを覚えておく必要があります。 保留中 — ユーザーが同意設定を提供する前に発生したイベントをキューに入れます。
データの収集を開始するには、ユーザーから同意を得る必要があります。 実際のアプリでは、お住まいの地域の同意に関するベストプラクティスを参照してください。 このチュートリアルでは、次のアラートを使用して要求するだけで、ユーザーの同意を得ることができます。
-
ユーザーに同意を求めるのは 1 回だけです。 これをおこなうには、Mobile SDK の同意と、Apple Mobile Service を使用した追跡に必要な認証を組み合わせます App Tracking Transparency フレームワーク. このアプリでは、ユーザーが追跡を許可する場合に、イベントの収集に同意すると想定します。
-
に移動します。 Luma > Luma > Utils > MobileSDK 」をクリックします。
このコードを
updateConsent
関数に置き換えます。code language-swift // Update consent let collectConsent = ["collect": ["val": value]] let currentConsents = ["consents": collectConsent] Consent.update(with: currentConsents) MobileCore.updateConfigurationWith(configDict: currentConsents)
-
に移動します。 Luma > Luma > Views > General > 免責事項ビュー Xcode のプロジェクトナビゲーター。アプリケーションをインストールまたは再インストールして、初めてアプリを起動した後に表示されるビューです。 Appleの設定ごとにトラッキングを承認するように求められます。 App Tracking Transparency フレームワーク. ユーザーが承認した場合は、同意も更新します。
次のコードを
ATTrackingManager.requestTrackingAuthorization { status in
クロージャ。code language-swift // Add consent based on authorization if status == .authorized { // Set consent to yes MobileSDK.shared.updateConsent(value: "y") } else { // Set consent to yes MobileSDK.shared.updateConsent(value: "n") }
現在の同意状態を取得する
同意モバイル拡張機能では、現在の同意値に基づいて、 / pends /を自動的に抑制し、トラッキングを許可します。 また、現在の同意状態に自分でアクセスすることもできます。
-
に移動します。 Luma > Luma > Utils > MobileSDK Xcode のプロジェクトナビゲーター内。
次のコードを
getConsents
関数:code language-swift // Get consents Consent.getConsents { consents, error in guard error == nil, let consents = consents else { return } guard let jsonData = try? JSONSerialization.data(withJSONObject: consents, options: .prettyPrinted) else { return } guard let jsonStr = String(data: jsonData, encoding: .utf8) else { return } Logger.aepMobileSDK.info("Consent getConsents: \(jsonStr)") }
-
に移動します。 Luma > Luma > Views > General > HomeView Xcode のプロジェクトナビゲーター内。
次のコードを
.task
修飾子:code language-swift // Ask status of consents MobileSDK.shared.getConsents()
上記の例では、単に Xcode 内のコンソールに同意ステータスをログに記録するだけです。 実際のシナリオでは、これを使用して、ユーザーに表示されるメニューやオプションを変更できます。
アシュランスで検証
- デバイスまたはシミュレーターからアプリケーションを削除して、トラッキングと同意を適切にリセットおよび初期化します。
- シミュレーターまたはデバイスを Assurance に接続するには、 設定手順 」セクションに入力します。
- 次の場所からアプリ内を移動するとき: ホーム 画面に表示 製品 画面と戻る ホーム 画面に、 同意応答を取得 イベントが Assurance UI に表示されます。
次へ: ライフサイクルデータの収集