SiriKit Cloud Media
Stream music directly to HomePod speakers from your media service.
Overview
When the user asks an authorized HomePod speaker to play some media, the media device can contact your SiriKitCloudMedia service directly, rather than send requests through an intermediary iOS device.
Download the SiriKit Cloud Media OpenAPI Specification. For details about applying for the SiriKit Media Intents on HomePod program, see the HomePod section of Siri for Developers.
Configure the User’s HomePod
Authorize HomePod speakers to contact your media service by adopting Media Setup in your iOS app and vending tokens from an OAuth service. After the user enables your service for devices in their home, they can manage access in the Home app.
Provide a HomePod speaker with details about sending requests to your service by implementing the configuration endpoint. Include paths and required headers for the endpoints you support. See Configure Your Service Endpoints for more information.
Respond to a Siri Intent with a Media Playback Queue
Implement the Process a Play Media Intent endpoint to receive the user’s request, resolve the media they want to play, and handle the intent. Respond with a UserActivity, which the client uses to request a Queue of media Content from the Get a Media Queue endpoint.
Manage how frequently the user can skip content in a queue, and what playback controls are available with each piece of content, with the PlayMediaControl you include in each queue. Monitor user interactions and playback progress with periodic updates on the Report Playback Progress and Activity endpoint. You may optionally respond to Report Playback Progress and Activity requests with a queue segment to replace or modify the current playback queue.
Adapt to the User’s Tastes
Empower the user to customize their library and playlists with the Process an Add Media Intent endpoint. They might ask Siri to add a certain artist’s latest album to their library, or to add the currently playing song to their Karaoke Practice playlist.
You can also tune algorithmic playlists by incorporating the preferences users share as Process an Update Media Affinity Intent intents. For example, if the user says “I like rock-and-roll,” you might include more songs from that genre the next time they ask to play some music. Or if they say “I don’t like this song,” you might exclude the currently playing song from future recommendations.
Topics
Device Configuration
Media Play Queues
Content Protection
Retrieve an Asset’s Content Protection KeyContentProtectionKeyRequestContentProtectionKeyResponseContentProtectionKeySystem
Playback Events
QueueActivityReportEventReport Playback Progress and ActivityUpdateActivityRequestUpdateActivityResponseProcess an Update Media Affinity Intent
Playback Failure
Recover from Content Playback FailureContentFailureContentPlaybackFailureRequestContentPlaybackFailureResponse