Choose a Viewer Engagement API¶
MEDKit 2.4.18 provides several server-backed ways to collect viewer input. Choose by the result shape your application needs.
| Experience | Submit API | Read API | Result |
|---|---|---|---|
| Numeric poll | vote(id, value) |
getVoteData(id) |
Count, mean, sum, standard deviation, and indexed counts |
| Open-ended popularity | rank(id, value) |
getRankData(id) |
Text values ranked by score |
| Raw viewer payloads | accumulate(id, data) |
getAccumulateData(id, start) |
Timestamped submissions with user/channel metadata |
| Structured trivia | Trivia question, option, vote, and leaderboard methods | Trivia getters | Questions, teams, votes, and leaderboard data |
Start with polls and user voting for fixed choices, or data aggregation for ranking and accumulation.
Production design rules¶
- Use a stable schema and version it in each payload.
- Bound retries, pagination, and refresh frequency.
- Treat opaque and shared Twitch identifiers as personal data.
- Persist any state needed after refresh; live events are notifications, not storage.
- Enforce privileged operations with broadcaster, admin, or backend authorization rather than UI visibility alone.
The package types verify method signatures, not your product's poll lifecycle, retention policy, abuse limits, or reward rules. Keep those policies explicit in application code and have them reviewed before launch.