People
People
Section titled Peopleこのモジュールは、ユーザーを識別し、ユーザープロファイルのプロパティを変更(set、set once、append、increment、delete)するために使用します。
OpenReplay の UI でのユーザーデータの管理について詳しくは、データ管理をご覧ください。
利用可能な場所:
tracker.analytics.people
トップレベルのエイリアス:tracker.analytics.identify(...) は tracker.analytics.people.identify(...) と同じです
シグネチャ
Section titled シグネチャ// Identify a user (required before other operations except reset)
tracker.analytics.people.identify(user_id: string, options?: { fromTracker: boolean }): void
// Reset local user context & properties (optionally, destroy device id)
// should be called on logout and session end
tracker.analytics.people.reset(hard?: boolean): void
// Delete user on backend, then reset local properties
tracker.analytics.people.deleteUser(): void
// Set properties (overwrite existing values)
tracker.analytics.people.setProperties(properties: Record<string, string | number>): void
tracker.analytics.people.setProperties(key: string, value: string | number): void
// Set properties only if they don't exist yet
tracker.analytics.people.setPropertiesOnce(properties: Record<string, string | number>): void
// Append values to an existing property (string becomes array)
tracker.analytics.people.appendValues(key: string, value: string | number): void
// Append value only if it’s not already present (requires property to exist locally)
tracker.analytics.people.appendUniqueValues(key: string, value: string | number): void
// Increment (or decrement) a numeric property
tracker.analytics.people.increment(key: string, value: number): void
// Read current user id
tracker.analytics.people.user_id: string | null | undefined
identify
Section titled identify文字列の ID(メールアドレス、ユーザー名、内部 ID など)で現在のユーザーを識別し、識別イベントをキューに入れます。
tracker.analytics.people.identify("nikita@openreplay.com")
注意事項:
Section titled 注意事項:別のユーザーがすでに識別されている場合、SDK は新しい ID に切り替える前に、ローカルの people プロパティをリセットします。
user_id は空でない文字列である必要があります。それ以外の値を渡すとエラーがスローされます。
options.fromTracker は、トラッカーレベルの ID フックの二重呼び出しを避けるために内部的に使用されるもので、通常は指定する必要はありません。tracker.setUserID() は、すでに identify を自動的に呼び出します。
reset
Section titled reset現在のユーザー ID とすべてのローカルの people プロパティをリセットします。
// soft reset
tracker.analytics.people.reset()
// hard reset (also clears persistent device id)
tracker.analytics.people.reset(true)
deleteUser
Section titled deleteUser現在識別されているユーザーをバックエンド上で削除し(削除ミューテーションを送信)、その後ローカルの状態をクリアします。
tracker.analytics.people.deleteUser()
注意事項:
Section titled 注意事項:ユーザーが識別されていない場合は、何も行いません。
この呼び出しの後、user_id はクリアされ、ローカルのプロパティは消去されます。
setProperties
Section titled setPropertiesユーザープロパティを設定し、既存の値を上書きします。
tracker.analytics.people.setProperties({
plan: "pro",
seats: 5,
})
// or key/value
tracker.analytics.people.setProperties("plan", "enterprise")
注意事項:
Section titled 注意事項:SDK が収集するデフォルトプロパティは、SDK のローカルキャッシュでは無視されます。
キーと値の形式では、両方の引数が truthy(真と評価される値)である必要があります。setProperties("plan", "") や setProperties("seats", 0) は invalid user properties provided to set をスローします。falsy な値にはオブジェクト形式を使用してください。
渡した完全な properties ペイロードとともに、イベントがキューに入れられます。
setPropertiesOnce
Section titled setPropertiesOnceSDK のローカルの観点で、まだ存在しない場合にのみプロパティを設定します。
tracker.analytics.people.setPropertiesOnce({
signup_source: "docs",
first_seen_at: Date.now(),
})
注意事項:
Section titled 注意事項:ローカルの people キャッシュにまだ存在しないプロパティのみが、ローカルに書き込まれます。
setPropertyOnce ミューテーションイベントは、渡したプロパティとともに引き続きキューに入れられます。
appendValues
Section titled appendValues既存のプロパティに値を追加します。プロパティが現在文字列または数値の場合は、配列になります。
// start with something
tracker.analytics.people.setProperties({ tags: "new" })
// append
tracker.analytics.people.appendValues("tags", "beta-user")
注意事項:
Section titled 注意事項:そのプロパティがすでにローカルに存在する場合にのみ、SDK はローカルキャッシュを更新します。
追加ミューテーションイベントは常にキューに入れられます。
appendUniqueValues
Section titled appendUniqueValues値がまだ存在しない場合にのみ追加します。
tracker.analytics.people.setProperties({ tags: ["new"] })
tracker.analytics.people.appendUniqueValues("tags", "new") // no change
tracker.analytics.people.appendUniqueValues("tags", "beta-user") // appended
注意事項:
Section titled 注意事項:プロパティがまだローカルに存在しない場合、この呼び出しは何も行いません(早期に return します)。先に setProperties / setPropertiesOnce で設定してください。
increment
Section titled increment数値プロパティに数値(負の値を含む)を加算します。
tracker.analytics.people.increment("logins", 1)
tracker.analytics.people.increment("credits", -10)
注意事項:
Section titled 注意事項:プロパティがローカルに存在しない場合は、インクリメントする前に 0 で初期化されます。
プロパティが存在していても数値でない場合、SDK はエラーをスローします。
Mixpanel 互換のエイリアス
Section titled Mixpanel 互換のエイリアスすべてのメソッドで、使い慣れた形で利用できるよう互換レイヤーが提供されています:
tracker.analytics.people.set // setProperties
tracker.analytics.people.set_once // setPropertiesOnce
tracker.analytics.people.append // appendValues
tracker.analytics.people.union // appendUniqueValues
tracker.analytics.people.incrementBy // increment
典型的なフロー
tracker.analytics.people.identify("user_123")
tracker.analytics.people.setProperties({
email: "user@example.com",
plan: "pro",
})
tracker.analytics.people.increment("sessions", 1)
tracker.analytics.people.appendUniqueValues("features_used", "analytics")
ユーザーの切り替え
Section titled ユーザーの切り替えOpenReplay のセッションは 1.24.0 時点で単一のユーザーのみをサポートしているため、新しいユーザーがセッション内の以前のユーザーを上書きすることに注意してください。
ユーザーを切り替えるときは、forceNew オプションを使用してトラッカーも再起動してください。
tracker.analytics.people.identify("user_a")
tracker.analytics.people.setProperties({ plan: "free" })
// switching user resets local people properties automatically
tracker.analytics.people.identify("user_b")
ご質問はありますか?
Section titled ご質問はありますか?問題が発生した場合は、Slack に参加して、コミュニティのサポートを受けてください。