Creating Feed Groups

Feed Types

There are 3 feed types:

Based on these 3 basic feed types you can create your own feed groups.

‘Which Feed Groups Should I Create?’

We recommend that you create different feed groups for adding activities, and for consuming activities.

  • Flat are the only feeds that can be followed, and therefore are a good type to setup for adding activities. Flat can also be used to consume activities from other feeds - in a “timeline”-like manner.

  • Aggregated are good for consuming activities in an “aggregated”-like manner. You cannot follow an aggregated feed, but you may on occasion want to add activities to one.

  • The Notification type makes it easy to add notifications to your app. Notifications cannot be followed by other feeds - but you can write directly to a Notification feed.

For example, let’s say you are building a music app similar to Spotify. You may set up the following feeds like so:

  • "notification" (Notification): Displaying notifications from anything a user is following.
  • "user" (Flat): Adding activities from a user that can be followed.
  • "artist" (Flat): Adding activities from an artist that can be followed.
  • "playlist" (Flat): Adding activities from a playlist that can be followed.
  • "timeline" (Flat): Displaying "user", "artist", or "playlist" activities.

‘How Do I Create Feed Groups?’

New feed groups can be created in the Feeds section of the Dashboard. By default, we set up four feed groups for your project:

These four groups cover the average use-cases for most applications. However, you can create any custom named feed group that serves your application needs.

Feed Group Permissions

There are three types of client-side Feed Permissions that a Feed Group can have

  • Private Permissions (example, Timeline Feeds)

  • Global Read (example, User Feeds)

  • Global Read/Write (no default example, see more below)

The access to these feeds is based on the ID of the feed matching the user_id in the claim on the JWT. For example, the feed “timeline:steve” can only be accessed client-side with a token with “user_id: “steve"" as one of the claims.

© Getstream.io, Inc. All Rights Reserved.