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

Feature
Channel Feed
Playlist 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

Last updated