Playlist Feed
Playlist Feed displays videos from a specific playlist within a channel. Unlike Channel Feed, the order is deterministic - videos appear in the same order they were added to the playlist, without recommendation engine interference.
Overview
Playlist Feed provides:
Deterministic Order - Videos appear in the exact order they were added
Curated Content - Manually organized video collections
Fixed Sequence - No algorithmic reordering
This makes it perfect for scenarios where video sequence matters, such as tutorial series, story-driven content, or seasonal campaigns.
Usage
Required Parameters
channelId- Your encoded channel identifier (required, non-empty)playlistId- Your encoded playlist identifier (required, non-empty)
XML Configuration
<com.firework.videofeed.FwVideoFeedView
android:id="@+id/videoFeedView"
android:layout_width="match_parent"
android:layout_height="match_parent">Programmatic Configuration
val viewOptions = viewOptions {
baseOptions {
feedResource(
FeedResource.Playlist(
channelId = "Your_Encoded_Channel_Id",
playlistId = "Your_Encoded_Playlist_Id"
)
)
}
layoutOptions {
feedLayout(FeedLayout.HORIZONTAL)
}
}
val videoFeedView = findViewById<FwVideoFeedView>(R.id.videoFeedView)
videoFeedView.init(viewOptions)Complete Example
class FeaturedPlaylistActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_featured_playlist)
val videoFeedView = findViewById<FwVideoFeedView>(R.id.videoFeedView)
val viewOptions = viewOptions {
baseOptions {
feedResource(
FeedResource.Playlist(
channelId = "encoded_channelId",
playlistId = "encoded_playlistId"
)
)
}
layoutOptions {
feedLayout(FeedLayout.GRID)
columnCount(2)
}
titleOptions {
showFeedTitle(true)
}
}
videoFeedView.init(viewOptions)
}
}Dynamic Playlist Loading
class PlaylistGalleryActivity : AppCompatActivity() {
private fun loadPlaylist(channelId: String, playlistId: String) {
val videoFeedView = findViewById<FwVideoFeedView>(R.id.videoFeedView)
val viewOptions = viewOptions {
baseOptions {
feedResource(
FeedResource.Playlist(
channelId = channelId,
playlistId = playlistId
)
)
}
layoutOptions {
feedLayout(FeedLayout.VERTICAL)
}
}
videoFeedView.init(viewOptions)
}
private fun showTutorialSeries() {
loadPlaylist(
channelId = "encoded_channelId",
playlistId = "encoded_playlistId"
)
}
private fun showSeasonalContent() {
loadPlaylist(
channelId = "encoded_channelId",
playlistId = "encoded_playlistId"
)
}
}Important Notes
Encoded IDs Required - Both channel and playlist IDs must be encoded values provided by Firework
Empty String Exception - Providing empty IDs will throw an exception
Deterministic Order - Videos maintain their playlist order
No Recommendation - The recommendation engine does not reorder playlist videos
Playlist Management - Playlists can be managed through the Firework CMS
Tip: Refer to the Firework documentation or contact your partner success team to learn how to find your encoded channel ID and playlist ID.
Key Differences from Channel Feed
Video Order
Algorithmic (recommended)
Deterministic (manual order)
Content Source
All channel videos
Specific playlist videos
Use Case
General browsing
Sequential content
Recommendation
✅ Enabled
❌ Disabled
See Also
Feed Sources Overview - All available feed types
Channel Feed - Display all videos from a channel
BaseOption Configuration - Detailed configuration
FwVideoFeedView - Video feed widget
Last updated