{"ok":true,"schema":"trendest_multi_platform_ott_requirements_v1","primaryWebAppAuthority":true,"separateApps":false,"productSystem":true,"notWebviewOnly":true,"tabs":[{"id":"product-core","label":"Product Core"},{"id":"discovery","label":"Discovery"},{"id":"playback","label":"Playback"},{"id":"account","label":"Account & Entitlements"},{"id":"accessibility","label":"Accessibility"},{"id":"telemetry","label":"Analytics & Health"},{"id":"compliance","label":"Store & Certification"},{"id":"qa-matrix","label":"QA Matrix"}],"requirements":{"appId":"android-mobile","tab":"product-core","title":"Product Core","summary":"Shared OTT core plus platform-native requirements for the selected app version. This is the product requirement matrix, not a generic web-view checklist.","rows":[{"id":"account_profile_sync","area":"Account","requirement":"Account, profile and device sync","common":"Accounts, profiles, watch history, continue watching, watchlist, parental controls and entitlement state must sync across devices.","platformSpecific":"Selected app must expose this through the platform-appropriate login/session model.","status":"blocked","evidence":"API contract, session model, device QA"},{"id":"entitlements","area":"Entitlements","requirement":"Subscription and entitlement checks","common":"Every app must verify subscription, plan, rental/purchase access where applicable, region rules and parental access before playback.","platformSpecific":"Store-specific purchase/restore flows are platform-specific.","status":"blocked","evidence":"Entitlement API, store integration, test user"},{"id":"playback_state","area":"Playback","requirement":"Resume and playback state","common":"Resume point, play progress, next episode, skip intro/recap, subtitles, audio tracks and error recovery must behave consistently.","platformSpecific":"Control placement and media keys change by device input model.","status":"blocked","evidence":"Player QA matrix"},{"id":"search_deeplinks","area":"Discovery","requirement":"Search, suggestions and deep links","common":"Search, suggestions, filters where suitable, title/collection/campaign deep links and no-results recovery must be supported.","platformSpecific":"TV minimizes typing; web/mobile can support richer search and filters.","status":"blocked","evidence":"Search API, deep link map"},{"id":"accessibility_localization","area":"Accessibility","requirement":"Accessibility, captions and localization","common":"Readable typography, focus/keyboard/remote accessibility, captions, subtitles, audio language and localization must be planned.","platformSpecific":"Screen reader, focus engine, remote focus and platform caption surfaces differ.","status":"blocked","evidence":"Accessibility checklist"},{"id":"analytics_health","area":"Telemetry","requirement":"Analytics, health and crash/error telemetry","common":"Browse, search, playback, buffering, ad/subscription funnel, exits, errors and crash/health must be recorded only from real integrations.","platformSpecific":"Store dashboards and native vitals differ per platform.","status":"not_connected","evidence":"Telemetry SDK/API credentials"}]}}