ストレージ
Braze SDKによって保存されるさまざまなデバイスレベルのプロパティについて説明します。
デバイスのプロパティ
デフォルトでは、Brazeは以下のデバイスレベルプロパティを収集し、デバイス、言語、タイムゾーンベースのメッセージのパーソナライゼーションを可能にします。
BROWSERBROWSER_VERSIONLANGUAGEOSRESOLUTIONTIME_ZONEUSER_AGENT
AD_TRACKING_ENABLEDANDROID_VERSIONCARRIERIS_BACKGROUND_RESTRICTEDLOCALEMODELNOTIFICATION_ENABLEDRESOLUTIONTIMEZONE
AD_TRACKING_ENABLED と TIMEZONE は null または空白の場合は収集されません。GOOGLE_ADVERTISING_ID はSDKによって自動的に収集されないため、setGoogleAdvertisingId 経由で渡す必要があります。
- デバイスの通信事業者(
CTCarrier非推奨に関する注記を参照) - デバイスのロケール
- デバイスモデル
- デバイス OS のバージョン
- プッシュ許可のステータス
- プッシュ表示オプション
- プッシュ通知が有効
- デバイスの解像度
- デバイスのタイムゾーン
Braze SDKはIDFAを自動的に収集しません。アプリはオプションで、以下のメソッドを直接実装することでIDFAをBrazeに渡すことができます。アプリはIDFAをBrazeに渡す前に、App Tracking Transparencyフレームワークを通じてエンドユーザーによるトラッキングへの明示的なオプトインを取得する必要があります。
- 広告のトラッキング状態を設定するには、
set(adTrackingEnabled:)を使用します。 - 広告主の識別子(IDFA)を設定するには、
set(identifierForAdvertiser:)を使用します。
デフォルトでは、すべてのプロパティが有効になっています。ただし、手動で有効または無効にすることもできます。Braze SDKの機能の中には、特定のプロパティ(ローカルタイムゾーン配信やタイムゾーンなど)を必要とするものがあるため、本番環境にリリースする前に必ず設定をテストしてください。
例えば、許可リストに登録するデバイスの言語を指定できます。詳細については、InitializationOptions の devicePropertyAllowlist オプションを参照してください。
1
2
3
4
5
import * as braze from"@braze/web-sdk";
braze.initialize("API-KEY", {
baseUrl: "BASE-URL",
devicePropertyAllowlist: [ braze.DeviceProperties.LANGUAGE ] // list of `DeviceProperties` you want to collect
});
例えば、許可リストに登録するAndroid OSバージョンとデバイスロケールを指定できます。詳細については、setDeviceObjectAllowlistEnabled() と setDeviceObjectAllowlist() メソッドを参照してください。
1
2
3
new BrazeConfig.Builder()
.setDeviceObjectAllowlistEnabled(true)
.setDeviceObjectAllowlist(EnumSet.of(DeviceKey.ANDROID_VERSION, DeviceKey.LOCALE));
例えば、許可リストに登録するタイムゾーンとロケールの収集を指定できます。詳細については、configuration オブジェクトの devicePropertyAllowList プロパティを参照してください。
1
configuration.devicePropertyAllowList = [.timeZone, .locale]
1
2
3
4
configuration.devicePropertyAllowList = @[
BRZDeviceProperty.timeZone,
BRZDeviceProperty.locale
];
Cookieの保存(Webのみ)
Web Braze SDKを初期化すると、有効期限400日のCookieが作成および保存され、新しいセッションで自動的に更新されます。
以下のCookieが保存されます。
| Cookie | 説明 | サイズ |
|---|---|---|
ab.storage.userId.[your-api-key] |
現在ログインしているユーザーが変更されたかどうかを判断し、イベントを現在のユーザーに関連付けるために使用されます。 | changeUser に渡された値のサイズに基づきます |
ab.storage.sessionId.[your-api-key] |
メッセージを同期し、セッション分析を計算するために、ユーザーが新しいセッションを開始しているか既存のセッションを継続しているかを判断するために使用されるランダム生成文字列です。 | ~200バイト |
ab.storage.deviceId.[your-api-key] |
匿名ユーザーを識別し、ユーザーのデバイスを区別し、デバイスベースのメッセージングを可能にするために使用されるランダム生成文字列です。 | ~200バイト |
ab.optOut |
disableSDK が呼び出されたときにユーザーのオプトアウト設定を格納するために使用されます。 |
~40バイト |
ab._gd |
ルートレベルのCookieドメインを決定するために一時的に作成(その後削除)されます。これにより、サブドメイン間でSDKが適切に動作できるようになります。 | 該当なし |
Cookieの有効期限を変更する
デフォルトでは、BrazeのCookieは400日後に期限切れになります。これを上書きするには、Web SDKを初期化する際に cookieExpiryInDays オプションを使用します。値は0より大きい必要があります。このオプションが省略された場合、または0以下に設定された場合は、400日のデフォルトが適用されます。このオプションにはWeb SDK 6.6.0以降が必要です。
1
2
3
4
5
import * as braze from "@braze/web-sdk";
braze.initialize("API-KEY", {
baseUrl: "BASE-URL",
cookieExpiryInDays: 30 // expires after 30 days
});
Cookieを無効にする
すべてのCookieを無効にするには、Web SDKを初期化する際に noCookies オプションを使用します。これにより、サブドメインをまたいで移動する匿名ユーザーを関連付けることができなくなり、各サブドメインで新しいユーザーが生成されます。
1
2
3
4
5
import * as braze from "@braze/web-sdk";
braze.initialize("API-KEY", {
baseUrl: "BASE-URL",
noCookies: true
});
Brazeのトラッキング全般を停止したり、保存されたブラウザデータをすべて消去したりするには、それぞれ disableSDK および wipeData SDKメソッドを参照してください。これらの2つのメソッドは、ユーザーが同意を取り消した場合や、SDKの初期化後にBrazeのすべての機能を停止したい場合に役立ちます。