Skip to main content
Topic-based content discovery helps brands and community teams bring relevant conversations to the pages people already visit. Instead of relying on users to search for a community, surface posts about a topic on your homepage, category pages, or other browsing surfaces. Post previews help people understand what your community offers and decide which conversations to explore. Your team configures a topic in the social.plus Console. The SDK uses its topic ID to fetch an ordered selection of community posts, called a pool. Build your own presentation with these posts, or use the UIKit’s Discovery Widget for a ready-made carousel.
The SDK supports topic-based content discovery on TypeScript, iOS, and Android. Flutter and React Native are not supported.

How recommendations are selected

Recommendations use three main signals:
  • Topic relevance: how closely a post matches the configured topic. This is the main signal.
  • Engagement: activity on a post, such as reactions and comments, helps identify relevant conversations people are participating in.
  • Freshness: newer posts help keep the selection timely.
Selection is based on the configured topic rather than a reader’s personal interests or engagement history. Topic configuration and eligibility rules determine which posts can appear. Viewer-specific restrictions, such as blocked authors, can further affect the returned selection. The SDK returns posts in recommendation order. Preserve that order when presenting the recommended selection.

Before you start

Configure a topic in the social.plus Console and obtain its topic ID. Initialize the SDK and establish a user session or a visitor session before fetching posts. Topic configuration is managed in the Console. This page covers reading its recommendations and reporting interactions from your app.

Parameters

getPool returns the topic and its ordered posts in a single request. It is not a live collection and does not support pagination. Call it again when your app needs a new selection.
The returned posts are standard post objects that you can render in your own UI. Results may contain fewer posts than requested, including an empty list. An empty list is a successful response; omit the discovery surface when there is no content to display.

Report interactions

When building your own discovery surface, use the topic’s analytics handle to measure what readers see and open. Report views when the surface or card becomes visible, rather than when an off-screen element is mounted.
Report the surface impression and each post impression once per page load. Report a click when the reader selects a card, and let navigation proceed without waiting for analytics. The Discovery Widget reports these interactions automatically, so you do not need to report them again for that component.

Discovery Widget

Embed a ready-made carousel of topic-based recommendations.

Visitor mode

Establish a session for readers who have not signed in.