Skip to content

データ収集を管理する

Braze SDKのデータ収集を管理する方法について説明します。必要に応じてデータプライバシー規制に準拠できます。

トラッキングを無効にする

Web SDKのデータ追跡アクティビティを無効にするには、以下のメソッドを使用する。 disableSDK().これにより、disableSDK() が呼び出される前に記録されたすべてのデータが同期され、このページと今後のページ読み込みに対する、その後のすべてのBraze Web SDKの呼び出しが無視される。

Web トラッキングを無効または再度有効にするには、それぞれトラッキング無効タグタイプまたはトラッキング再開タグタイプを使用します。これら2 つのオプションは、disableSDK およびenableSDK を呼び出します。

ベストプラクティス

ユーザーにトラッキングを停止するオプションを提供するには、2つのリンクまたはボタンを持つシンプルなページを構築することを推奨する。1つはクリックされたときにdisableSDK() 、もう1つはenableSDK() 、ユーザーがオプトインに戻れるようにする。これらのコントロールを使用して、他のデータサブプロセッサを介してトラッキングを開始または停止することもできます。

データトラッキングを再開する

データ収集を再開するには enableSDK()メソッドを使う。

Google Playプライバシーアンケート

2022年4月から、Android開発者はGoogle Playのデータ安全フォームに記入し、プライバシーとセキュリティの慣行を開示する必要があります。このガイドでは、Brazeによるアプリデータの処理方法に関する情報をこの新しいフォームに記入する方法について説明します。

アプリ開発者は、どのデータをBrazeに送信するかを制御しています。Brazeが受け取ったデータは、指示に従って処理されます。これは、Googleがサービスプロバイダーとして分類したものです。

質問

質問 Braze SDKの回答
お使いのアプリは、必要なユーザーデータの種類を収集または共有しますか? はい、Braze Android SDKはアプリ開発者によって設定されたデータを収集します。
あなたのアプリが収集するすべてのユーザーデータは転送中に暗号化されていますか? はい。
ユーザーがデータの削除を要求する方法を提供していますか? はい。

データおよび削除に対するユーザーリクエストの処理の詳細については、Brazeデータリテンション情報を参照してください。

データ収集

Brazeによって収集されるデータは、特定の統合と収集するユーザーデータによって決まります。デフォルトで収集されるデータの詳細、および特定の属性を無効にする方法については、SDKデータ収集オプションを参照してください。

カテゴリー データタイプ Brazeの使用状況
ロケーション おおよその位置情報 デフォルトでは収集されません。
正確な位置情報
個人情報 名前
メールアドレス
ユーザー ID
住所
電話番号
人種と民族
政治的または宗教的信条
性的指向
その他の情報
財務情報 ユーザー決済情報
購入履歴
クレジットスコア
その他の財務情報
ヘルスとフィットネス ヘルス情報 デフォルトでは収集されません。
フィットネス情報
メッセージ メール デフォルトでは収集されません。
SMSまたはMMS
その他のアプリ内メッセージ Brazeを通じてアプリ内メッセージやプッシュ通知を送信する場合、ユーザーがこれらのメッセージをいつ開封したか、またはいつ読んだかに関する情報を収集します。
写真と動画 写真 収集されません。
動画
オーディオファイル 音声やサウンドの録音
音楽ファイル
その他のオーディオファイル
ファイルとドキュメント ファイルとドキュメント
カレンダー カレンダーイベント
連絡先 連絡先
アプリアクティビティ アプリのインタラクション Brazeは、デフォルトでセッションアクティビティデータを収集します。その他すべてのインタラクションとアクティビティは、アプリのカスタム統合によって決定されます。
アプリ内検索履歴 収集されません。
インストール済みアプリ 収集されません。
その他のユーザー生成コンテンツ デフォルトでは収集されません。
その他のアクション
Webブラウジング Web閲覧履歴 収集されません。
アプリの情報とパフォーマンス クラッシュログ Brazeは、SDK内で発生したエラーのクラッシュログを収集します。これには、ユーザーの電話機モデルとOSレベル、およびBraze固有のユーザーIDが含まれます。
診断 収集されません。
その他のアプリパフォーマンスデータ 収集されません。
デバイスまたはその他のID デバイスまたはその他のID Brazeは、ユーザーのデバイスを区別するためにデバイスIDを生成し、メッセージが意図した正しいデバイスに送信されるかどうかをチェックします。

Google Playのデータセーフティガイドラインの対象外となる可能性がある、Brazeが収集するその他のデバイスデータの詳細については、Androidストレージの概要およびSDKデータ収集オプションを参照してください。

トラッキングを無効にする

Android SDKのデータトラッキングアクティビティを無効にするには、disableSDK()メソッドを使用します。これにより、すべてのネットワーク接続がキャンセルされ、Braze SDKはBrazeサーバーにデータを渡さなくなります。

過去に保存したデータを消去する

wipeData()メソッドを使用すると、デバイスに保存されているクライアント側のデータをすべて消去できます。

データトラッキングを再開する

データ収集を再開するには、enableSDK()メソッドを使用します。これは、以前に消去したデータを復元するものではないことに留意してください。

Appleのプライバシーマニフェスト

トラッキングデータとは?

Appleは「トラッキングデータ」を、アプリ内でエンドユーザーやデバイスについて収集され、サードパーティのデータ(ターゲット広告など)やデータブローカーにリンクされたデータと定義しています。完全な定義と例については、Apple: Trackingを参照してください。

デフォルトでは、Braze SDKはトラッキングデータを収集しません。ただし、Braze SDKの設定によっては、アプリのプライバシーマニフェストにBraze固有のデータを記載する必要がある場合があります。

プライバシーマニフェストとは?

プライバシーマニフェストは、アプリとサードパーティSDKがデータを収集する理由と、そのデータ収集方法を説明するXcodeプロジェクト内のファイルです。データをトラッキングするサードパーティSDKには、それぞれ独自のプライバシーマニフェストが必要です。アプリのプライバシーレポートを作成すると、これらのプライバシーマニフェストファイルは自動的に1つのレポートに集約されます。

APIトラッキングデータドメイン

iOS 17.2以降、AppleはエンドユーザーがAd Tracking Transparency (ATT) プロンプトを受け入れるまで、アプリ内で宣言されたすべてのトラッキングエンドポイントをブロックします。Brazeはトラッキングデータをルーティングするためのトラッキングエンドポイントを提供しており、トラッキング以外のファーストパーティデータは元のエンドポイントにルーティングすることもできます。

Brazeのトラッキングデータを宣言する

前提条件

この機能を実装するには、以下のBraze SDKバージョンが必要です。

ステップ1:現在のポリシーを確認する

Braze SDKの現在のデータ収集ポリシーを法務チームと確認し、アプリがAppleの定義に従ってトラッキングデータを収集しているかどうかを判断してください。トラッキングデータを収集していない場合は、現時点でBraze SDKのプライバシーマニフェストをカスタマイズする必要はありません。Braze SDKのデータ収集ポリシーの詳細については、SDKデータ収集を参照してください。

ステップ2:プライバシーマニフェストを作成する

まず、XcodeプロジェクトでPrivacyInfo.xcprivacyファイルを検索して、プライバシーマニフェストがすでに存在するかどうかを確認します。すでにこのファイルがある場合は、次のステップに進んでください。ない場合は、Apple: Create a privacy manifestを参照してください。

ステップ3:エンドポイントをプライバシーマニフェストに追加する

XcodeプロジェクトでアプリのPrivacyInfo.xcprivacyファイルを開き、テーブルを右クリックしてRaw Keys and Valuesにチェックを入れます。

コンテキストメニューが開かれ、「Raw Keys and Values」がハイライトされたXcodeプロジェクト。

App Privacy ConfigurationNSPrivacyTrackingを選択し、値をYESに設定します。

「NSPrivacyTracking」が「YES」に設定された状態で開かれた「PrivacyInfo.xcprivacy」ファイル。

App Privacy ConfigurationNSPrivacyTrackingDomainsを選択します。ドメイン配列に新しい要素を追加し、その値を、以前にAppDelegateに追加したエンドポイントにsdk-trackingプレフィックスを付けたものに設定します。

「NSPrivacyTrackingDomains」の下にBrazeトラッキングエンドポイントが記載された状態で開かれた「PrivacyInfo.xcprivacy」ファイル。

ステップ4:トラッキングデータを宣言する

次にAppDelegate.swiftを開き、静的または動的トラッキングリストを作成して、宣言する各トラッキングプロパティをリストします。Appleはエンドユーザーが ATTプロンプトを受け入れるまでこれらのプロパティをブロックするため、あなたと法務チームがトラッキングと見なすプロパティのみをリストしてください。以下に例を示します。

以下の例では、dateOfBirthcustomEvent、およびcustomAttributeが静的リスト内でトラッキングデータとして宣言されています。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import UIKit
import BrazeKit

@main
class AppDelegate: UIResponder, UIApplicationDelegate {

  static var braze: Braze? = nil

  func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
    let configuration = Braze.Configuration(apiKey: brazeApiKey, endpoint: brazeEndpoint)
    // Declare which types of data you wish to collect for user tracking.
    configuration.api.trackingPropertyAllowList = [
      .dateOfBirth,
      .customEvent(["event-1"]),
      .customAttribute(["attribute-1", "attribute-2"])
    ]
    let braze = Braze(configuration: configuration)
    AppDelegate.braze = braze
    return true
  }
}

以下の例では、エンドユーザーがATTプロンプトを受け入れた後、トラッキングリストが自動的に更新されます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
func applicationDidBecomeActive(_ application: UIApplication) {
  // Request and check your user's tracking authorization status.
  ATTrackingManager.requestTrackingAuthorization { status in
    // Let Braze know whether user data is allowed to be collected for tracking.
    let enableAdTracking = status == .authorized
    AppDelegate.braze?.set(adTrackingEnabled: enableAdTracking)

    // Add the `.firstName` and `.lastName` properties, while removing the `.everything` configuration.
    AppDelegate.braze.updateTrackingAllowList(
      adding: [.firstName, .lastName],
      removing: [.everything]
    )
  }
}

ステップ5:無限リトライループを防止する

SDKが無限リトライループに入るのを防ぐため、set(adTrackingEnabled: enableAdTracking)メソッドを使用してATT権限を処理します。メソッド内のadTrackingEnabledプロパティは、以下のように処理する必要があります。

1
2
3
4
5
6
7
8
func applicationDidBecomeActive(_ application: UIApplication) {
    // Request and check your user's tracking authorization status.
    ATTrackingManager.requestTrackingAuthorization { status in
      // Let Braze know whether user data is allowed to be collected for tracking.
      let enableAdTracking = status == .authorized
      AppDelegate.braze?.set(adTrackingEnabled: enableAdTracking)
    }
}

データトラッキングを無効にする

Swift SDKのデータトラッキングアクティビティを無効にするには、Brazeインスタンスのenabledプロパティをfalseに設定します。enabledfalseに設定すると、Braze SDKはパブリックAPIへの呼び出しをすべて無視します。また、SDKはネットワークリクエストやイベント処理など、進行中のすべてのアクションもキャンセルします。

以前に保存したデータを消去する

wipeData()メソッドを使用すると、ユーザーのデバイスにローカルに保存されたSDKデータを完全に消去できます。

Braze Swiftバージョン7.0.0以降では、SDKとwipeData()メソッドがデバイスIDのUUIDをランダムに生成します。ただし、useUUIDAsDeviceIdfalseに設定されている場合、または Swift SDKバージョン5.7.0以前を使用している場合は、/users/deleteへのPOSTリクエストも行う必要があります。これは、IDFV(Identifier for Vendors)がそのユーザーのデバイスIDとして自動的に使用されるためです。

手動プッシュ連携を使用していて、アプリがwipeData()を呼び出した後、同じアプリ実行中にSDKを再度有効にする場合は、registerForRemoteNotifications()を再度呼び出して、Brazeが更新されたデバイストークンを受信できるようにしてください。詳細については、プッシュ通知の設定を参照してください。

データトラッキングを再開する

データ収集を再開するには、enabledtrueに設定します。ただし、以前に消去されたデータは復元されないことに注意してください。

IDFVの収集

Braze iOS SDKの以前のバージョンでは、IDFV(Identifier for Vendor)フィールドがユーザーのデバイスIDとして自動的に収集されていました。Swift SDK v5.7.0以降、IDFVフィールドはオプションで無効にできるようになり、代わりにBrazeがランダムなUUIDをデバイスIDとして設定するようになりました。Swift SDK v7.0.0以降、IDFVフィールドはデフォルトでは収集されず、代わりにUUIDがデバイスIDとして設定されます。

useUUIDAsDeviceId機能は、デバイスIDをUUIDとして設定するようSwift SDKを構成します。従来、iOS SDKではAppleが生成したIDFV値と同じデバイスIDが割り当てられていました。iOSアプリでこの機能がデフォルトで有効になっている場合、SDKを介して作成されたすべての新規ユーザーにUUIDと同じデバイスIDが割り当てられます。

それでもIDFVを別途収集したい場合は、set(identifierforvendor:)を使用できます。

考慮事項

SDKバージョン

Swift SDK v7.0.0+useUUIDAsDeviceIdが有効(デフォルト)の場合、新規作成されたすべてのユーザーにはランダムなデバイスIDが割り当てられます。既存のユーザーは同じデバイスID値を保持します(IDFVである場合もあります)。

この機能が有効でない場合、デバイスには引き続き作成時にIDFVが割り当てられます。

ダウンストリーム

テクノロジーパートナー: この機能を有効にすると、BrazeデバイスIDからIDFV値を取得するテクノロジーパートナーは、このデータにアクセスできなくなります。パートナー連携にデバイスから得られるIDFV値が必要な場合は、この機能をfalseに設定することを推奨します。

Currents: useUUIDAsDeviceIdをtrueに設定すると、Currentsで送信されるデバイスIDはIDFV値と等しくなくなります。

よくある質問

この変更はBrazeの既存ユーザーに影響しますか?

いいえ。この機能を有効にしても、Brazeのユーザーデータは上書きされません。新しいUUIDデバイスIDは、新しいデバイスまたはwipedata()が呼び出された場合にのみ作成されます。

この機能をオンにした後にオフにすることはできますか?

はい、この機能は自由にオンとオフを切り替えることができます。以前に保存されたデバイスIDは上書きされません。

Brazeを介してIDFV値を別の場所で収集することはできますか?

はい、オプションでSwift SDKを使用してIDFVを収集することもできます(収集はデフォルトでは無効です)。

前提条件

この機能を使う前に、React Native Braze SDKを統合する必要がある。

トラッキングを無効にする

データ収集を無効にするには、メソッドdisableSDKを使用する。このメソッドを呼び出した後、Braze SDKはBrazeサーバーへのデータ送信を停止する。

1
Braze.disableSDK();

データトラッキングを再開する

データ収集を無効化した後に再開するには、メソッドenableSDKを使用する。

1
Braze.enableSDK();

データを消去する

デバイス上にローカル保存されているBraze SDKデータを全て削除するには、`wipeDatadeleteAllDataメソッドを使用する。このメソッドを呼び出した後、SDKは無効化される。再度イネーブルメントするには\.`を使用する必要があるenableSDK

1
Braze.wipeData();

データをフラッシュする

保留中のデータを直ちにBrazeサーバーに送信するには、を使用するrequestImmediateDataFlush

1
Braze.requestImmediateDataFlush();

広告トラッキングのイネーブルメント

この端末で広告トラッキングのイネーブルメントが有効かどうかをBrazeに通知するには、`setAdTrackingEnabled`メソッドを使用する。SDKはこのデータを自動的に収集しない。

1
Braze.setAdTrackingEnabled(true, "GOOGLE_ADVERTISING_ID");

二つ目のパラメータはGoogle広告IDであり、Androidでのみ使用される。

トラッキングプロパティの許可リストを更新する(iOSのみ)

トラッキング用に宣言されたデータ型のリストを更新するには、. を使用するupdateTrackingPropertyAllowList。これはAndroidでは何もしない操作だ。

1
2
3
4
5
6
7
8
Braze.updateTrackingPropertyAllowList({
  adding: [Braze.TrackingProperty.EMAIL, Braze.TrackingProperty.FIRST_NAME],
  removing: [],
  addingCustomEvents: ["my_custom_event"],
  removingCustomEvents: [],
  addingCustomAttributes: ["my_custom_attribute"],
  removingCustomAttributes: []
});

詳細については、プライバシー・マニフェストを参照せよ。

前提条件

この機能を使用するには、 Roku Braze SDK を統合する必要があります。

以前に保存されたデータを消去する

Roku SDKにはwipeDataメソッドが含まれていません。他のBraze SDKのwipeData()と機能的に同等のクリーンな状態を作成するには、4つのBrazeレジストリセクションをクリアしてから、SDKを再初期化します。

Braze Roku SDKは、以下のレジストリセクションにデータを永続化します。

セクション 内容
braze.section.device_id Brazeでこのデバイスを識別するために使用されるデバイスUUID。
braze.section.user_id 設定されている場合の外部ユーザーID。
braze.section.session アクティブなセッションUUID、開始時刻、終了時刻。
braze.section.config キャッシュされたSDK設定とフィーチャーフラグデータ。

ステップ 1: レジストリセクションをクリアする

roRegistry.Delete()を使用して各Brazeセクションを削除し、Flush()を呼び出して変更を永続化します。

1
2
3
4
5
6
7
8
sub WipeBrazeData()
    registry = CreateObject("roRegistry")
    registry.Delete("braze.section.device_id")
    registry.Delete("braze.section.user_id")
    registry.Delete("braze.section.session")
    registry.Delete("braze.section.config")
    registry.Flush()
end sub

ステップ 2: Braze SDKを再初期化する

再度Braze SDKを初期化すると、SDKは欠落しているレジストリデータを適切に処理します。

  • デバイスIDセクションが空のため、SDKは新しいUUIDを生成し、デバイスを匿名として扱います。
  • ユーザーIDセクションが空のため、SDKは匿名ユーザー(空の文字列"")をデフォルトとします。
  • セッションセクションが空のため、SDKは新しいセッションを開始します。
  • 設定セクションが空のため、SDKはサーバーから設定を再取得します。
New Stuff!