Skip to main content

Enabling a CTV app for BlueConic

This article describes how to enable your CTV app. This is a document for CTV app (Roku, Apple TV, Fire TV, or Android TV) developers.

Updated this week

What: The BlueConic SDK for Roku, iOS, or Android makes it easy for developers to collect profile data from their CTV apps, and/or customize their CTV apps based on known and anonymous user segmentation and profile data.

Why: Message known and anonymous users with products and offers that are relevant to them based on their real-time interactions with your website. Acquire more customers with consistent messaging from your digital campaigns, save cart abandoners with right-time relevancy, and increase lifetime value with recommendations and communications based on behavioral data.

BlueConic can work with different types of channels, for example, websites, mobile apps, CTV apps, or other systems. To gather data from any channel, the channel needs to communicate with the BlueConic server using the JavaScript front-end API or the REST API.

To enable a website, this means the BlueConic script needs to be placed on its pages. The script will take care of all communication with the BlueConic server.

If you are developing for Roku, Android TV, Fire TV, or Apple TV, SDKs are available for this purpose.

What can a BlueConic-enabled app do?

Before we delve into technical details, we'll describe what exactly a BlueConic-enabled app can do.

For starters, BlueConic can listen to the app by monitoring page views and visitor behavior (e.g. clicking buttons or entering values) in the app. BlueConic supports mobile apps from the following BlueConic Listeners:

The app can also send events to signal to BlueConic that something specific happened, e.g. the user clicked a button, signed up for a newsletter, or watched a video.

You can deliver any content into your app by creating a Properties Based Dialogue. Also, you can create custom dialogues for your apps by using the BlueConic SDK for iOS, Android, or React Native to create a custom plugin.

Before you begin

  • Before you start changing code in your app, start in BlueConic by setting up the new mobile channel for your app, or ask a BlueConic user at your site to do it for you. BlueConic will not work with your mobile app unless it has been set up as a BlueConic mobile channel.


Set up a mobile channel

First, you will have to define a channel for your app.

  1. Select Settings > Channels & BlueConic Hostnames from the BlueConic navigation bar.

  2. Click the Add channel button.

  3. Select the Domain for the new channel, for example, CTV.

  4. In the Channel Settings page, create a new channel of the type "CTV".

  5. Give the new channel a name.

  6. Assign the unique ID of your app in the "App ID" field.

  7. Clive Save.


Test your CTV app via the Simulator

You can now use the BlueConic Simulator to connect to this mobile channel:

  1. Go to More > Simulator

  2. Pass the Session ID and your username (email address) when initializing the SDK to test and simulate user interactions.

  3. After initializing the SDK, your CTV app should open with a connection to the Simulator. The Simulator responds to the connection by showing information.

    Testing mobile apps and mobile channels with the BlueConic Simulator to test mobile apps in the BlueConic CDP
  4. With the connection between BlueConic and your CTV app established, changes to profile properties in your app will be visible in the Profile widget. Also, profile properties from BlueConic should be available to the app.

Note that the BlueConic mobile API assumes that the CTV app will pull the most recent information from BlueConic. In other words, BlueConic will not push information to the CTV app. So, if you make changes in the Simulator, you will have to refresh the mobile app to retrieve the latest information.


Next Steps

  • Your CTV channel is now ready to be used. Next, you want to integrate the BlueConic SDK by following the documentation specific to your Roku, iOS, Android, or React Native platform.

Did this answer your question?