Set up Studio

How to create your project in Studio ready for development

Login

Use the login and URL provided for development. This will either be your organisation's development instance or playground.

Studio & App Setup

With the App Spec created we can proceed to Studio to set up a Project to integrate in our app. Login to your studio environment and you can now create your Space, App and Project. Remember that every Project is associated with only one App at a time.

For a reminder of terminology check out Overview

Create a new Space

In Studio, navigate to your Space or create a new Space. In this case the Space is called ‘Developer App’ and is a container for the Projects and Apps you want to manage. Apps can be moved from one Space to another later.

Create a new App by uploading your App Spec

Now create a new App by hitting the “Upload App Spec” button.

Paste in the URL of your publicly hosted App Spec and hit the Load button. You can always change this later as you update and redeploy your app.

Create a new Project by hitting the New Project button and provide a name. Select the App Spec you just uploaded and mark it a Development project:

You will now see your Project appear in the Projects list. Note that the name of your App will appear beneath the name of the project. In this case Sample App 0.0.2

If you. navigate to the App Settings tab, you should be able to see and customise the Title property we added to the project:

Publish an Event with a Poll

The app will be built assuming that an event is published in Studio and contains at least one poll Element has been created and published into the Timeline. If the app cannot find an event and Element, it will throw an error.

Once your project is created, you can create an Event by navigating to its Events tab, and tapping on the “+ Event” button.

This will open a dialog where you can provide a name for the Event, and specify its start mode and duration. Select Manual start mode and set a duration that will last for longer than you are planning to run this app. In our example, we used 1000 hours. You can also set Events to repeat.

If the Event expires you’ll need to repeat this step and update the Event ID anywhere you have been using it.

In production apps you may want to programmatically obtain Event IDs and render Events based on your own criteria.

For example you can customise the metadata associated with each Event within your App Spec and use logic such as "display only events associated with Cohort X".

Event data can be retrieved in a number of ways including via the Control API's Event Schedule data (backend), polling the Project's Listing data via the public feed, or via the SDK's methods.

Once the Event is created, create a Poll element by tapping the “+” button on the bottom right of the screen and selecting Poll.

From the “Timing” tab select:

  • The same duration you set to the Event – we want the poll to be active for a long period

  • Start mode Timecode – we will schedule this to start at a specific relative time within the Event

  • Reveal results breakdown set to Always – we want the results of the poll to be shared with the client app

In the Title tab, set its Title to “Did Ryder deserve that yellow card? 🟨” and in the Answer Options tab create 4 answers:

  • No, that was harsh

  • Yes, definitely

  • Send him off!

  • It was borderline

Now click on “Start Event”, and confirm so that the Event is published.

Get your Host, Project ID and Event ID

Your Project ID is unique and is the way you will associate your app with the platform. Alongside the Host, it is required for the SDK to be able to fetch data from the Project.

Additionally, our app will be tied to a single Event, so we will also need it’s ID to filter down the data.

To obtain these three values navigate to your Event, and open the Event Settings section. This tab will allow you to copy the Host, Project Id and Event Id.

Now we’re ready to write some code that will interpret the App Settings, Event Settings and interactive Poll Element you have just generated in your Event.

Last updated