> 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/channel-feed.md).

# Channel Feed

Channel Feed displays a predefined collection of videos from a specific channel. Users will only see videos that are part of the channel, making it ideal for brand-specific or curated content.

## Overview

A channel can be created in two ways:

1. **Creator Channel** - If you have your own content (you are a creator), there's automatically a channel associated with your creator account on Firework. All videos you upload form the Channel Feed.
2. **Curated Channel** - You don't need to be a creator to have a channel. You can create a channel and repost/add videos from the Firework content library.

### Content Ordering

Videos in a Channel Feed are served by Firework's recommendation engine. The engine determines the order based on what it predicts users are most likely to engage with, rather than serving videos in a fixed order.

## Usage

### Required Parameter

* `channelId` - Your encoded channel identifier (required, non-empty)

### XML Configuration

```xml
<com.firework.videofeed.FwVideoFeedView
    android:id="@+id/videoFeedView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>
```

### Programmatic Configuration

```kotlin
val viewOptions = viewOptions {
    baseOptions {
        feedResource(
            FeedResource.Channel(channelId = "Your_Encoded_Channel_Id")
        )
    }
    layoutOptions {
        feedLayout(FeedLayout.HORIZONTAL)
    }
}

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

## Complete Example

```kotlin
class BrandChannelActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_brand_channel)
        
        val videoFeedView = findViewById<FwVideoFeedView>(R.id.videoFeedView)
        
        val viewOptions = viewOptions {
            baseOptions {
                feedResource(
                    FeedResource.Channel(channelId = "abc123xyz")
                )
            }
            layoutOptions {
                feedLayout(FeedLayout.GRID)
                columnCount(2)
            }
            titleOptions {
                showFeedTitle(true)
            }
        }
        
        videoFeedView.init(viewOptions)
    }
}
```

## Dynamic Channel Loading

```kotlin
class ChannelListActivity : AppCompatActivity() {
    private fun loadChannel(channelId: String) {
        val videoFeedView = findViewById<FwVideoFeedView>(R.id.videoFeedView)
        
        val viewOptions = viewOptions {
            baseOptions {
                feedResource(
                    FeedResource.Channel(channelId = channelId)
                )
            }
            layoutOptions {
                feedLayout(FeedLayout.VERTICAL)
            }
        }
        
        videoFeedView.init(viewOptions)
    }
}
```

## Important Notes

* **Encoded IDs Required** - Channel IDs must be encoded values provided by Firework
* **Empty String Exception** - Providing an empty `channelId` will throw an exception
* **Content Scope** - Only videos within the channel are displayed
* **Smart Ordering** - Videos are ordered by recommendation algorithm, not chronologically
* **Channel Management** - Channels 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.

## See Also

* [Feed Sources Overview](/firework-for-developers/android-sdk/integration-guide/feed-sources.md) - All available feed types
* [Playlist Feed](/firework-for-developers/android-sdk/integration-guide/feed-sources/playlist-feed.md) - Display specific playlists within a channel
* [BaseOption Configuration](/firework-for-developers/android-sdk/integration-guide/configuration/base-options.md) - Detailed configuration
* [FwVideoFeedView](/firework-for-developers/android-sdk/integration-guide/configure-video-feed.md) - Video feed widget
