feat(phase-16): anonymous play & share telemetry substrate (wave 16.1)
Player-service play-session tracker (floor + 3-bucket classify), SharePopover share tracker with debounce, sendBeacon interop, proxied rate-limited POST api/event/{play,share}, append-only event logs + incremental play_counter with server-side release resolution. Migration authored, not applied. No anonId, no read surface.
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
using DeepDrftModels.Enums;
|
||||
|
||||
namespace DeepDrftModels.DTOs;
|
||||
|
||||
/// <summary>
|
||||
/// Wire payload for <c>POST api/event/share</c> (Phase 16 §2.2 / §4.3). The popover knows the target
|
||||
/// and channel at the point of the action, so the payload is self-describing — no server-side resolution.
|
||||
/// <see cref="AnonId"/> is reserved for wave 16.3 and stays null in wave 16.1.
|
||||
/// </summary>
|
||||
public class ShareEventDto
|
||||
{
|
||||
public ShareTargetType TargetType { get; set; }
|
||||
|
||||
public string? TargetKey { get; set; }
|
||||
|
||||
public ShareChannel Channel { get; set; }
|
||||
|
||||
public string? AnonId { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user