> For the complete documentation index, see [llms.txt](https://docs.firework.com/firework-for-developers/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.firework.com/firework-for-developers/android-sdk/integration-guide/feed-sources.md).

# Feed Sources

The Firework Android SDK provides multiple types of feed sources (`FeedResource`) to display different video content in your application. Each feed type serves specific use cases and can be configured through `ViewOptions`.

## Overview

Feed sources determine which videos are displayed in your video widgets. You configure the feed source using the `feedResource` property in `BaseOption`.

```kotlin
val viewOptions = viewOptions {
    baseOptions {
        feedResource(FeedResource.Discovery)
    }
}
```

## Available Feed Types

### Discovery Feed

Curated content from the Firework platform that learns user preferences over time.

**Use Cases:** Homepage, explore section, general content discovery

👉 [Learn more about Discovery Feed](/firework-for-developers/android-sdk/integration-guide/feed-sources/discovery-feed.md)

***

### Channel Feed

All videos from a specific channel, either your own content or curated collections.

**Use Cases:** Brand-specific content, creator channels, category videos

👉 [Learn more about Channel Feed](/firework-for-developers/android-sdk/integration-guide/feed-sources/channel-feed.md)

***

### Playlist Feed

Videos from a specific playlist within a channel for curated collections.

**Use Cases:** Featured content, topic-specific playlists, seasonal collections

👉 [Learn more about Playlist Feed](/firework-for-developers/android-sdk/integration-guide/feed-sources/playlist-feed.md)

***

### Hashtag Playlist Feed

Videos from a channel filtered by hashtag expressions for targeted content.

**Use Cases:** Campaign videos, trend-based feeds, topic-specific content

👉 [Learn more about Hashtag Playlist Feed](/firework-for-developers/android-sdk/integration-guide/feed-sources/hashtag-playlist-feed.md)

***

### SKU Feed

Videos associated with a single or multiple product SKUs.

**Use Cases:** Product detail pages, shopping experiences, product videos

👉 [Learn more about SKU Feed](/firework-for-developers/android-sdk/integration-guide/feed-sources/sku-feed.md)

***

### Channel Video Feed

Videos from a specific channel filtered by video IDs for precise content selection.

**Use Cases:** Curated video collections, specific video showcases, editorial picks

👉 [Learn more about Channel Video Feed](/firework-for-developers/android-sdk/integration-guide/feed-sources/channel-video-feed.md)

***

### Single Content Feed

Display a single specific video or livestream.

**Use Cases:** Featured video, video details page, direct video links

👉 [Learn more about Single Content Feed](/firework-for-developers/android-sdk/integration-guide/feed-sources/single-content-feed.md)

***

### Dynamic Content Feed

Videos based on dynamic parameters for personalized content targeting.

**Use Cases:** Personalized content, user segment targeting, A/B testing

👉 [Learn more about Dynamic Content Feed](/firework-for-developers/android-sdk/integration-guide/feed-sources/dynamic-content-feed.md)

***

### Share URL Feed

Content from a Firework share URL with customizable domain.

**Use Cases:** Deep link handling, social media shares, branded URLs

👉 [Learn more about Share URL Feed](/firework-for-developers/android-sdk/integration-guide/feed-sources/share-url-feed.md)

***

## Quick Comparison

| Feed Type        | Required Parameters                    | Personalization | Use Case                  |
| ---------------- | -------------------------------------- | --------------- | ------------------------- |
| Discovery        | None                                   | ✅ High          | General content discovery |
| Channel          | `channelId`                            | ⚡ Medium        | Brand/creator specific    |
| Playlist         | `channelId`, `playlistId`              | ❌ None          | Curated collections       |
| Hashtag Playlist | `channelId`, `hashtagFilterExpression` | ❌ None          | Filtered content          |
| SKU              | `channelId`, `productIds`              | ❌ None          | Product videos            |
| Channel Video    | `channelId`, `videoIds`                | ❌ None          | Specific video selection  |
| Single Content   | `contentId`                            | ❌ None          | Specific video            |
| Dynamic Content  | `channelId`, `parameters`              | ✅ High          | Personalized targeting    |
| Share URL        | `url`                                  | ❌ None          | Shared links              |

## Configuration

All feed sources are configured through `BaseOption` in `ViewOptions`:

```kotlin
val viewOptions = viewOptions {
    baseOptions {
        feedResource(/* Your FeedResource here */)
    }
    // Other configurations...
}
```

### With FwVideoFeedView

```kotlin
val videoFeedView = findViewById<FwVideoFeedView>(R.id.videoFeedView)
videoFeedView.init(viewOptions)
```

### With Fullscreen Player

```kotlin
FireworkSdk.startPlayer(
    activity = this,
    viewOptions = viewOptions
)
```

### With FwStoryBlockView

```kotlin
val storyBlockView = findViewById<FwStoryBlockView>(R.id.storyBlockView)
storyBlockView.init(viewOptions)
```

## Important Notes

* All channel IDs, playlist IDs, and content IDs must be **encoded values** provided by Firework
* Empty strings will throw an exception during initialization
* Some feed types require specific backend configuration
* Feed resources are serializable and can be passed between activities

## See Also

* [BaseOption Configuration](/firework-for-developers/android-sdk/integration-guide/configuration/base-options.md) - Detailed feed resource configuration
* [FwVideoFeedView](/firework-for-developers/android-sdk/integration-guide/configure-video-feed.md) - Video feed widget
* [FireworkSdk.startPlayer](/firework-for-developers/android-sdk/integration-guide/fullscreen-player.md) - Fullscreen player
* [ViewOptions Overview](/firework-for-developers/android-sdk/integration-guide/configuration.md) - Complete configuration system
