App Integration
Integrating your app with the Senza platform involves several key steps, covering essential requirements and optional enhancements. Your app must be designed for a television experience, supporting full HD resolution, remote control navigation, and a ten-foot viewing environment.
Prerequities
- See Integration Overview high level description of steps to integrate your app
- App Requirements to understand if your apps are ready to be integrated
- Follow the Quick Start guide
- Familiarize yourself with the Developer Tools
App Integration Steps
- Browser Integration: Test Chrome compatibility, remote control functionality, and remove platform-specific dependencies.
- Device Integration: Connect the Senza client library, get cloud connector info, and update geolocation to use the device's IP.
- Player Integration: Sync local and remote players using Shaka Player subclass or integrate directly with the remote player.
- Lifecycle Integration: Implement foreground/background transitions.
- Switching Modes: shows how to switch between foreground and background modes, including doing this automatically with the Auto Background feature.
- Lifecycle Events: shows how your app can be notified when the lifecycle changes modes, the user has been inactive, or the session has disconnected.
- Preserving State: shows how to save the current state to session storage or local storage and restore it when the app restarts.
- Platform Integration: Configure security policies, DRM, and device-based authentication.
- Streaming Requirements: Make sure your video is encoded in a supported format.
- Network Integration: If using geo restrictions, add Senza servers to your allow list.
- CDN Integration: Configure your CDN with the correct cipher suite.
- Analytics Integration: How to connect your app to an analytics platform.
- Protected Content: Configure DRM settings for encrypted video.
- Device Authentication: Use the device instead of passwords to authenticate users.
- Device Fingerprinting — Combat piracy by displaying a device-specific watermark on the screen.
- Emergency Alerts: Send messages to devices.
Resources
- Reference Implementation: A demo app showcasing these steps.
- Playing Video: A step-by-step guide to the reference implementation.
- Program Guide: Demonstrates how to integrate a full featured app with just a few lines of code.
- Integration Changes: a pull request highlighting the changes made during the integration.
- Sample App: This video tutorial includes a demo of the reference implementation and a dive into the code.
- App Integration with ChatGPT: Demonstrates how you can use ChatGPT to perform all the required integration steps with just a single prompt.