ユーザー属性オブジェクト
属性オブジェクトに任意のフィールドを含む API リクエストは、指定されたユーザープロファイル上で、その名前の属性を指定された値で作成または更新します。
Braze のユーザープロファイルフィールド名(以下に記載されているもの、または Braze ユーザープロファイルフィールドのセクションに記載されているもの)を使用して、ダッシュボードのユーザープロファイル上のこれらの特別な値を更新したり、独自のカスタム属性データをユーザーに追加したりします。
オブジェクト本文
{
// One of "external_id" or "user_alias" or "braze_id" or "email" or "phone" is required
"external_id" : (optional, string) see external user ID,
"user_alias" : (optional, User alias object),
"braze_id" : (optional, string) Braze user identifier,
"email": (optional, string) User email address,
"phone": (optional, string) User phone number,
// Setting this flag to true puts the API in "Update Only" mode.
// When using a "user_alias", "Update Only" defaults to true.
"_update_existing_only" : (optional, boolean),
// See note regarding anonymous push token imports
"push_token_import" : (optional, boolean),
// Braze User Profile Fields
"first_name" : "Alex",
"email" : "[email protected]",
// Custom Attributes
"my_custom_attribute" : value,
"my_custom_attribute_2" : {"inc" : int_value},
"my_array_custom_attribute":[ "Value1", "Value2" ],
// Adding a new value to an array custom attribute
"my_array_custom_attribute" : { "add" : ["Value3"] },
// Removing a value from an array custom attribute
"my_array_custom_attribute" : { "remove" : [ "Value1" ]},
// Array of objects custom attribute
"my_array_of_objects_attribute": [{"key": "value"}, {"key": "value"}],
// Adding to an array of objects (nested custom attribute syntax)
"my_array_of_objects_attribute": { "$add": [{"key": "value"}] },
// Removing from an array of objects (nested custom attribute syntax)
"my_array_of_objects_attribute": { "$remove": [{"$identifier_key": "key", "$identifier_value": "value"}] },
}

通常の配列カスタム属性には、add と remove ($ なし) を使用します。
オブジェクトの配列 (階層化カスタム属性) には、/users/track リクエストのペイロードで $add、$remove、$update を使用します。これらの演算子は、識別子 ($identifier_key と $identifier_value) を照合してオブジェクト単位で変更を適用し、$new_object によるその場での更新をサポートします。
既存の配列内でオブジェクトを追加、削除、または更新しつつ、配列の残りの状態を維持したい場合は、この形式を使用します。リクエストの完全な例については、オブジェクトの配列の API 例とオブジェクトの配列の SDK 例を参照してください。
プロファイル属性を削除するには、その属性を null に設定します。external_id や user_alias などの一部のフィールドは、ユーザープロファイルに追加した後は削除できません。
識別子の解決
匿名プッシュトークンのインポートを実行する場合を除き、各ユーザー属性オブジェクトには少なくとも 1 つの識別子 (external_id、user_alias、braze_id、email、または phone) を含める必要があります。どのユーザープロファイルが更新または作成されるのかが曖昧にならないよう、可能な限りオブジェクトごとに識別子を 1 つだけ含めてください。
識別子を使用する際は、次の点に注意してください。
external_idとuser_aliasは同時に使用できません。 同じユーザー属性オブジェクトに両方を含めると、エラーが返されます。すでにexternal_idを持つユーザーにエイリアスを追加するには、/users/alias/newエンドポイントを使用してください。emailはphoneよりも優先されます。 同じオブジェクトにemailとphoneの両方が含まれている場合、Braze はemailを識別子として使用します。つまり、電話番号が別のプロファイルに属している場合でも、属性はそのメールアドレスに関連付けられたユーザープロファイルに適用されます。

予期しない動作を避けるため、ユーザー属性オブジェクトごとに識別子を 1 つだけ使用してください。異なるユーザープロファイルを参照する複数の識別子を指定すると、属性が誤ったプロファイルに適用される可能性があります。
既存のプロファイルのみを更新する
Braze 内の既存のユーザープロファイルのみを更新したい場合は、リクエストの本文内で _update_existing_only キーを値 true で渡してください。この値を省略すると、external_id がまだ存在しない場合に Braze は新しいユーザープロファイルを作成します。

/users/track エンドポイントを使用してエイリアスのみのユーザープロファイルを作成する場合は、_update_existing_only を false に設定する必要があります。この値を省略すると、Braze はエイリアスのみのプロファイルを作成しません。
プッシュトークンのインポート
Braze にプッシュトークンをインポートする前に、本当にインポートが必要かどうかを確認してください。Braze SDKを導入すると、SDKがプッシュトークンを自動的に処理するため、API を通じてアップロードする必要はありません。
API を通じてアップロードする必要がある場合は、識別済みユーザーまたは匿名ユーザーのどちらに対してもアップロードできます。つまり、external_id が存在するか、匿名ユーザーの push_token_import フラグが true に設定されている必要があります。

他のシステムからプッシュトークンをインポートする場合、external_id が常に利用できるとは限りません。Braze への移行中もこれらのユーザーとのコミュニケーションを維持するには、push_token_import を true に指定することで、external_id を指定せずに匿名ユーザーのレガシートークンをインポートできます。
push_token_import を true に指定する場合:
external_idとbraze_idは指定しないでください- 属性オブジェクトにはプッシュトークンを必ず含めてください
- トークンがすでに Braze に存在する場合、リクエストは無視されます。存在しない場合、Braze はトークンごとに一時的な匿名ユーザープロファイルを作成し、これらのユーザーへのメッセージ送信を継続できるようにします
インポート後、各ユーザーが Braze 対応バージョンのアプリを起動すると、Braze はインポートされたプッシュトークンをそのユーザーの Braze ユーザープロファイルに自動的に移動し、一時的なプロファイルをクリーンアップします。
Braze は月に 1 回、push_token_import フラグを持ちながらプッシュトークンを持たない匿名プロファイルがないかを確認します。匿名プロファイルにプッシュトークンがなくなっている場合、Braze はそのプロファイルを削除します。ただし、匿名プロファイルにまだプッシュトークンがある場合は、実際のユーザーがそのプッシュトークンを持つデバイスにまだログインしていないことを示しているため、Braze は何もしません。
詳細については、プッシュトークンの移行を参照してください。
カスタム属性のデータ型
カスタム属性として保存できるデータ型は次のとおりです。
| データ型 | 備考 |
|---|---|
| 配列 | カスタム属性の配列がサポートされています。要素を追加すると、配列の末尾に追加されます。要素がすでに存在する場合は、現在の位置から末尾に移動されます。 一意の値のみが保存されます。たとえば、 ['hotdog','hotdog','hotdog','pizza'] をインポートすると、['hotdog', 'pizza'] になります。配列を直接設定する (たとえば "my_array_custom_attribute":[ "Value1", "Value2" ]) ことも、"my_array_custom_attribute" : { "add" : ["Value3"] } で既存の配列に追加することも、"my_array_custom_attribute" : { "remove" : [ "Value1" ]} で値を削除することもできます。配列内の要素数のデフォルトおよび上限は 500 です。配列の最大数は、Braze ダッシュボードの データ設定 > カスタム属性 で更新できます。詳細については、配列を参照してください。 |
| オブジェクトの配列 | オブジェクトの配列を使用すると、各オブジェクトが属性のセットを含むオブジェクトのリストを定義できます。このデータ型は、ホテルの宿泊、購入履歴、好みなど、ユーザーに関する複数の関連データセットを保存する場合に使用します。 たとえば、ユーザープロファイルに hotel_stays という名前のカスタム属性を配列として定義し、各オブジェクトが個別の宿泊を表すようにして、hotel_name、check_in_date、nights_stayed などの属性を持たせることができます。オブジェクトの配列には項目数の制限はありませんが、最大サイズは 100 KB です。更新によって配列がこの制限を超える場合、Braze はその更新を破棄し、属性は変更されません。 /users/track および SDKのペイロードでは、オブジェクトの配列の操作に $add、$remove、$update を使用します。スカラー値を含む通常の配列カスタム属性には、add と remove ($ なし) を使用します。詳細については、オブジェクトの配列の API 例、オブジェクトの配列の SDK 例、オブジェクトの配列の例を参照してください。 |
| ブール値 | true または false |
| 日付 | 日付は ISO 8601 形式 (推奨) または次のいずれかの形式で保存します。 - yyyy-MM-ddTHH:mm:ss:SSSZ - yyyy-MM-ddTHH:mm:ss - yyyy-MM-dd HH:mm:ss - yyyy-MM-dd - MM/dd/yyyy - ddd MM dd HH:mm:ss.TZD YYYY 「T」はプレースホルダーではなく時刻指定子であるため、変更または削除しないでください。 記載されたいずれの形式にも一致しない日付値は、時間データ型ではなく文字列としてユーザープロファイルに保存されます。そのため、時間ベースのセグメンテーションフィルター (「より前」、「より後」、「過去 X 日間」など) はそれらの属性では機能しません。たとえば、 Mar 26 2026 06:12 PM +00:00 はサポートされている形式に一致しないため、文字列として保存されます。これを避けるには、ISO 8601 形式 (2026-03-26T18:12:00Z など) を使用してください。タイムスタンプ、タイムゾーン、繰り返し日付のフィルタリング: タイムゾーンのない時間属性は、デフォルトで UTC の午前 0 時になります (ダッシュボードでは、会社のタイムゾーンにおける UTC 午前 0 時に相当する時刻として表示されます)。タイムゾーンを指定するには、タイムスタンプに UTC オフセットを付加します (たとえば、EST の場合は 2024-11-10T18:00:00-05:00)。タイムゾーンのオフセットがない場合や形式が正しくない場合、値はデフォルトで UTC になります。時間属性が設定されると、Braze はタイムスタンプのオフセットにおける暦日から繰り返しイベントの日付 (月と日) を計算します。この繰り返しイベントの日付は、「繰り返しイベントの日」フィルターと、階層化カスタム属性の年間通算日の比較に使用されます。同じ瞬間でもオフセットが異なると、異なる繰り返し日付になります。たとえば、 2026-10-13T00:09:49+09:00 は 10 月 13 日として保存されますが、2026-10-12T15:09:49Z (UTC における同じ瞬間) は 10 月 12 日として保存されます。繰り返し日付のフィルタリングで意図したローカルの暦日を維持するには、ローカルのオフセットを含むタイムスタンプを使用してください。たとえば、10 月 13 日として保存するには 2026-10-13T00:00:00+09:00 を使用します。詳細については、時間属性の詳細 を参照してください。時刻はダッシュボード上で会社のタイムゾーンで表示されます。たとえば、 2024-11-10T18:00:00-05:00 (EST の午後 6 時) は、会社で設定されたタイムゾーンにおける同等の時刻として表示されます。未来のタイムスタンプを持つイベントは、デフォルトで現在の時刻になります。 通常のカスタム属性では、年が 0 未満または 3000 を超える場合、Braze はその値を文字列としてユーザープロファイルに保存します。 |
| 浮動小数点数 | 浮動小数点数のカスタム属性は、小数点を含む正または負の数値です。たとえば、浮動小数点数を使用して、口座残高や製品またはサービスのユーザー評価を保存できます。 |
| 整数 | 整数のカスタム属性は、「inc」フィールドと加算する量を含むオブジェクトを割り当てることでインクリメントできます。 例: "my_custom_attribute_2" : {"inc" : int_value}, |
| 階層化カスタム属性 | 階層化カスタム属性は、属性のセットを別の属性のプロパティとして定義します。カスタム属性オブジェクトを定義する際に、そのオブジェクトに属性のセットを追加します。詳細については、階層化カスタム属性を参照してください。 |
| 文字列 | 文字列のカスタム属性は、テキストデータを保存するために使用される文字のシーケンスです。たとえば、文字列を使用して、姓名、メールアドレス、好みなどを保存できます。 |
オブジェクトの配列の例
このオブジェクトの配列を使用すると、宿泊内の特定の条件に基づいてセグメントを作成したり、Liquid テンプレートで各宿泊のデータを使用してメッセージをパーソナライズしたりできます。
{"hotel_stays": [
{ "hotel_name": "Ocean View Resort", "check_in_date": "2023-06-15", "nights_stayed": 5 },
{ "hotel_name": "Mountain Lodge", "check_in_date": "2023-09-10", "nights_stayed": 3 }
]}
$add、$remove、$update を使用するオブジェクトの配列の例については、オブジェクトの配列の API 例とオブジェクトの配列の SDK 例を参照してください。
Braze ユーザープロファイルフィールド

次のユーザープロファイルフィールドは大文字と小文字が区別されるため、必ず小文字で参照してください。

| ユーザープロファイルフィールド | データ型の仕様 |
|---|---|
| alias_name | (文字列) |
| alias_label | (文字列) |
| braze_id | (文字列、オプション) SDK によってユーザープロファイルが認識されると、関連する braze_id を持つ匿名ユーザープロファイルが作成されます。braze_id は Braze によって自動的に割り当てられ、編集できず、デバイス固有です。 |
| country | (文字列) 国コードは ISO-3166-1 alpha-2 標準で Braze に渡す必要があります。当社の API は、さまざまな形式で受信した国をできる限りマッピングします。たとえば、「Australia」は「AU」にマッピングされる場合があります。ただし、入力が ISO-3166-1 alpha-2 標準に一致しない場合、国の値は NULL に設定されます。CSV インポートまたは API でユーザーに country を設定すると、Braze は SDKを通じてこの情報を自動的に取得しなくなります。 |
| current_location | (オブジェクト) {“longitude”: -73.991443, “latitude”: 40.753824} の形式 |
| date_of_first_session | (ユーザーが最初にアプリを使用した日付) ISO 8601 形式または次のいずれかの形式の文字列: - yyyy-MM-ddTHH:mm:ss:SSSZ - yyyy-MM-ddTHH:mm:ss - yyyy-MM-dd HH:mm:ss - yyyy-MM-dd - MM/dd/yyyy - ddd MM dd HH:mm:ss.TZD YYYY |
| date_of_last_session | (ユーザーが最後にアプリを使用した日付) ISO 8601 形式または次のいずれかの形式の文字列: - yyyy-MM-ddTHH:mm:ss:SSSZ - yyyy-MM-ddTHH:mm:ss - yyyy-MM-dd HH:mm:ss - yyyy-MM-dd - MM/dd/yyyy - ddd MM dd HH:mm:ss.TZD YYYY |
| dob | (生年月日) 「YYYY-MM-DD」形式の文字列 (例: 1980-12-21)。 |
| (文字列) | |
| email_subscribe | (文字列) 使用可能な値は、「opted_in」(メールメッセージの受信を明示的に登録済み)、「unsubscribed」(メールメッセージを明示的にオプトアウト済み)、「subscribed」(オプトインもオプトアウトもしていない) です。 |
| email_open_tracking_disabled | (ブール値) true または false を指定できます。true に設定すると、このユーザーに今後送信されるすべてのメールに開封トラッキングピクセルが追加されなくなります。 |
| email_click_tracking_disabled | (ブール値) true または false を指定できます。true に設定すると、このユーザーに今後送信されるメール内のすべてのリンクでクリックトラッキングが無効になります。 |
| external_id | (文字列) ユーザープロファイルの一意の識別子。external_id が割り当てられると、Braze はユーザーのデバイス間でユーザープロファイルを識別します。不明なユーザープロファイルに初めて external_id を割り当てると、Braze は既存のユーザープロファイルデータをすべて新しいユーザープロファイルに移行します。 |
id (文字列)、likes (文字列の配列)、num_friends (整数) のいずれかを含むハッシュ。 |
|
| first_name | (文字列) |
| gender | (文字列) 「M」、「F」、「O」(その他)、「N」(該当なし)、「P」(回答しない)、または null (不明)。 |
| home_city | (文字列) |
| language | (文字列) 言語は ISO-639-1 標準で Braze に渡す必要があります。サポートされている言語については、使用可能な言語のリストを参照してください。 CSV インポートまたは API でユーザーに language を設定すると、Braze は SDKを通じてこの情報を自動的に取得しなくなります。 |
| last_name | (文字列) |
| marked_email_as_spam_at | (文字列) ユーザーのメールがスパムとしてマークされた日付。ISO 8601 形式または次のいずれかの形式で表示されます: - yyyy-MM-ddTHH:mm:ss:SSSZ - yyyy-MM-ddTHH:mm:ss - yyyy-MM-dd HH:mm:ss - yyyy-MM-dd - MM/dd/yyyy - ddd MM dd HH:mm:ss.TZD YYYY |
| phone | (文字列) 電話番号は E.164 形式で指定することをお勧めします。詳細については、ユーザーの電話番号を参照してください。 |
| push_subscribe | (文字列) 使用可能な値は、「opted_in」(プッシュメッセージの受信を明示的に登録済み)、「unsubscribed」(プッシュメッセージを明示的にオプトアウト済み)、「subscribed」(オプトインもオプトアウトもしていない) です。 |
| push_tokens | app_id と token 文字列を持つオブジェクトの配列。オプションで、このトークンが関連付けられているデバイスの device_id を指定できます (例: [{"app_id": App Identifier, "token": "abcd", "device_id": "optional_field_value"}])。device_id を指定しない場合は、ランダムに生成されます。 |
| subscription_groups | subscription_group_id と subscription_state 文字列を持つオブジェクトの配列 (例: [{"subscription_group_id" : "subscription_group_identifier", "subscription_state" : "subscribed"}])。subscription_state に使用可能な値は「subscribed」と「unsubscribed」です。 |
| time_zone | (文字列) IANA タイムゾーンデータベースのタイムゾーン名 (例: 「America/New_York」または「Eastern Time (US & Canada)」)。有効なタイムゾーン値のみが設定されます。 |
id (整数)、screen_name (文字列、X (旧 Twitter) のハンドル)、followers_count (整数)、friends_count (整数)、statuses_count (整数) のいずれかを含むハッシュ。 |
この API を通じて明示的に設定された言語の値は、Braze がデバイスから自動的に受信するロケール情報よりも優先されます。
ユーザー属性のリクエスト例
この例には 4 つのユーザー属性オブジェクトが含まれています。API 呼び出しごとに許可される属性オブジェクトは合計 75 個です。
POST https://YOUR_REST_API_URL/users/track
Content-Type: application/json
Authorization: Bearer YOUR-REST-API-KEY
{
"attributes" : [
{
"external_id" : "user1",
"first_name" : "Alex",
"has_profile_picture" : true,
"dob": "1988-02-14",
"music_videos_favorited" : { "add" : [ "calvinharris-summer" ], "remove" : ["nickiminaj-anaconda"] }
},
{
"external_id" : "user2",
"first_name" : "Lee",
"has_profile_picture" : false,
"push_tokens": [{"app_id": "Your App Identifier", "token": "abcd", "device_id": "optional_field_value"}]
},
{
"user_alias" : { "alias_name" : "device123", "alias_label" : "my_device_identifier"},
"first_name" : "Yuri",
"has_profile_picture" : false
},
{
"external_id": "user3",
"subscription_groups" : [{"subscription_group_id" : "subscription_group_identifier", "subscription_state" : "subscribed"}]
}
]
}
プッシュトークンを移行する
Braze を統合する前に、独自に、または別のプロバイダーを通じてプッシュ通知を送信していた場合、プッシュトークンを移行すると、プッシュトークンが登録されているユーザーに引き続きプッシュ通知を送信できます。
SDK による自動移行
Braze SDKを統合すると、オプトインしたユーザーのプッシュトークンは、次回そのユーザーがアプリを開いたときに自動的に移行されます。それまでは、Braze からそれらのユーザーにプッシュ通知を送信できません。
または、プッシュトークンを手動で移行して、ユーザーとのエンゲージメントをより迅速に再開することもできます。
Web トークンに関する考慮事項
Web プッシュトークンの性質上、Web 向けのプッシュを実装する際は、次の点を必ず考慮してください。
| 考慮事項 | 詳細 |
|---|---|
| Service Worker | デフォルトでは、manageServiceWorkerExternally や serviceWorkerLocation など別のオプションが指定されていない限り、Web SDKは ./service-worker にある Service Worker を探します。Service Worker が正しく設定されていないと、ユーザーのプッシュトークンが期限切れになる可能性があります。 |
| 期限切れのトークン | ユーザーが 60 日以内に Web セッションを開始しなかった場合、そのユーザーのプッシュトークンは期限切れになります。Braze は期限切れのプッシュトークンを移行できないため、エンゲージメントを再開するにはプッシュプライマーを送信する必要があります。 |
API による手動移行
プッシュトークンの手動移行とは、以前に作成したこれらのキーを API 経由で Braze プラットフォームにインポートするプロセスです。
users/track エンドポイントを使用して、iOS (APNs) および Android (FCM) のトークンをプログラムでプラットフォームに移行します。識別済みユーザー (external ID が関連付けられているユーザー) と匿名ユーザー (external ID がないユーザー) の両方を移行できます。

Brazeは、インポートされたプッシュトークンをアプリと環境に対する有効なフォアグラウンドプッシュトークンとして扱います。
iOSトークンをインポートする際、BrazeはそれらのApple Push Notification service(APNs)ゲートウェイ(developmentまたはproduction)を保存しません。Brazeはアプリの設定済みゲートウェイを通じてこれらのトークンに送信します。トークンが別の環境用に生成されたものであった場合、APNsはBadDeviceTokenとして拒否し、送信はバウンスされます。
Brazeがトークンのゲートウェイを保存するのは、SDKが後から同じトークンを登録し、ゲートウェイを報告した場合のみです。
プッシュトークンの移行時にはアプリの app_id を指定して、適切なプッシュトークンを適切なアプリに関連付けます。各アプリ (iOS、Android など) には独自の app_id があり、API キーページの 識別 セクションで確認できます。必ず正しいプラットフォームの app_id を使用してください。

API を使用して Web プッシュトークンを移行することはできません。これは、Web プッシュトークンが他のプラットフォームと同じスキーマに準拠していないためです。
Web プッシュトークンをプログラムで移行しようとすると、次のようなエラーが表示される場合があります: Received '400: Invalid subscription auth' sending to 'https://fcm.googleapis.com/fcm/send
API による移行の代わりに、SDKを統合し、トークンベースが自然に再構築されるようにすることをお勧めします。
識別済みユーザーの場合は、push_token_import フラグを false に設定 (またはパラメーターを省略) し、ユーザーの attributes オブジェクトで external_id、app_id、token の値を指定します。
例:
curl --location --request POST 'https://rest.iad-01.braze.com/users/track' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-API-KEY-HERE' \
--data-raw '{
"attributes" : [
{
"push_token_import" : false,
"external_id": "example_external_id",
"country": "US",
"language": "en",
"YOUR_CUSTOM_ATTRIBUTE": "YOUR_VALUE",
"push_tokens": [
{"app_id": "APP_ID_OF_OS", "token": "PUSH_TOKEN_STRING"}
]
}
]
}'
他のシステムからプッシュトークンをインポートする場合、external_id を常に利用できるとは限りません。この場合は、push_token_import フラグを true に設定し、app_id と token の値を指定します。Braze は各トークンに対して一時的な匿名ユーザープロファイルを作成するため、これらのユーザーに引き続きメッセージを送信できます。トークンがすでに Braze に存在する場合、リクエストは無視されます。
例:
curl --location --request POST 'https://rest.iad-01.braze.com/users/track' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-API-KEY-HERE' \
--data-raw '{
"attributes": [
{
"push_token_import" : true,
"email": "[email protected]",
"country": "US",
"language": "en",
"YOUR_CUSTOM_ATTRIBUTE": "YOUR_VALUE",
"push_tokens": [
{"app_id": "APP_ID_OF_OS", "token": "PUSH_TOKEN_STRING", "device_id": "DEVICE_ID"}
]
},
{
"push_token_import" : true,
"email": "[email protected]",
"country": "US",
"language": "en",
"YOUR_CUSTOM_ATTRIBUTE_1": "YOUR_VALUE",
"YOUR_CUSTOM_ATTRIBUTE_2": "YOUR_VALUE",
"push_tokens": [
{"app_id": "APP_ID_OF_OS", "token": "PUSH_TOKEN_STRING", "device_id": "DEVICE_ID"}
]
}
]
}'
インポート後、匿名ユーザーが Braze 対応バージョンのアプリを起動すると、Braze はインポートされたプッシュトークンをそのユーザーの Braze ユーザープロファイルに自動的に移動し、一時プロファイルをクリーンアップします。
Braze は月に 1 回、push_token_import フラグを持ち、プッシュトークンがない匿名プロファイルを確認します。匿名プロファイルにプッシュトークンがなくなっている場合、Braze はそのプロファイルを削除します。ただし、匿名プロファイルにまだプッシュトークンがある場合は、実際のユーザーがまだそのプッシュトークンのデバイスにログインしていないと考えられるため、Braze は何もしません。
iOS プッシュトークンをインポートする
/users/track で iOS プッシュトークンを移行する場合、プッシュトークンに gateway フィールドは設定されません。Braze は API 経由でインポートされたトークンを有効なフォアグラウンドプッシュトークンとみなしますが、そのトークンがどの APNs 環境に属するかを判断することはできません。
gateway フィールドがない場合、Braze はプッシュ通知の送信時にアプリで設定されたフォールバック環境の設定を使用します。トークンの実際の環境が設定されたフォールバックと異なる場合、BadDeviceToken エラーが発生する可能性があります。たとえば、開発用トークンを本番ゲートウェイ経由で送信すると失敗します。
配信の問題を避けるには、次の点に注意してください。
- Braze ダッシュボードにおけるアプリの環境設定が、インポートするトークンと一致していることを確認してください。
- 本番アプリの場合は、本番用トークンのみをインポートしてください。
- テスト環境の場合は、アプリの設定とインポートするトークンの両方が開発環境を使用していることを確認してください。

Braze SDKを通じて登録されたトークンには gateway フィールドが自動的に含まれます。SDKがアプリのエンタイトルメントから環境を検出するためです。
Android プッシュトークンをインポートする

以下の考慮事項は Android アプリにのみ適用されます。iOS アプリではこれらの手順は必要ありません。iOS プラットフォームにはプッシュを表示するためのフレームワークが 1 つしかなく、Braze が必要なプッシュトークンと証明書を持っていれば、プッシュ通知はすぐに表示されるためです。
Braze SDKの統合が完了する前にユーザーに Android プッシュ通知を送信する必要がある場合は、キーと値のペアを使用してプッシュ通知を検証してください。
プッシュペイロードを処理して表示するためのレシーバーが必要です。レシーバーにプッシュペイロードを通知するには、必要なキーと値のペアをプッシュキャンペーンに追加します。これらのペアの値は、Braze 以前に使用していたプッシュパートナーによって異なります。

一部のプッシュ通知プロバイダーでは、キーと値のペアを正しく解釈できるように、Braze がキーと値のペアをフラット化する必要があります。特定の Android アプリのキーと値のペアをフラット化するには、カスタマーサクセスマネージャーにお問い合わせください。
よくある質問
スパムとして扱われているユーザーやメッセージングをブロックされているユーザーを見つけるにはどうすればよいですか?
Brazeでは、ダッシュボードに専用のスパムリストは用意されていません。Brazeは、セッション数が500万を超える個々のユーザープロファイル(「ダミーユーザー」)、カスタムイベント名の種類が20,000を超えるユーザープロファイル、または購入における製品名の種類が20,000を超えるユーザープロファイルをブロックし、そのプロファイルについてSDKとREST APIの両方からのすべての受信データの取り込みを停止します。識別子がブロックされている場合、/users/track からエラー "provided external_id is blacklisted and disallowed" が返されることがあります。この文言はAPIレスポンスからそのまま引用したものです。過剰なセッションが原因でブロックされたプロファイルを見つけるには、セッション数フィルターを5,000,000より多いに設定したセグメントを作成し、そのセグメントをCSVとしてエクスポートしてから、エンゲージメント > ユーザー検索または /users/export/ids エンドポイントでプロファイルのフィールドを照合します。カスタムイベント名や製品名の種類数に対応するフィルターはないため、これらの理由でブロックされたプロファイルを特定するには、Brazeのアカウントマネージャーにお問い合わせください。詳しくは、スパムブロッキングを参照してください。