Android SDK

This section describes how to set up and install the Android SDK and how to deploy a feature flag.

Getting started with Android SDK

Step 1 - Setting up

To setup Android SDK, follow these steps:

  1. Create a CloudBees Rollout account. See Signup Page to create an account.

  2. Create an application in the CloudBees Rollout dashboard.

    • The first time you log into your account, click the Create New App button to create a new app.

      Create New App button

  3. Get your environment key.

    • Get the key from App Settings > Environment > Key.

Step 2 - Installing the Android SDK

Initialize the Android package

Add the following in the dependencies block of your build.gradle file:

compile group: 'io.rollout.rox', name: 'rox-android', version: '4.8.0'

Add the following lines to the AndroidManfiest.xml file:

<!--    The uses-permission tag is for enabling internet access for your application and have to be outside the application tag -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<!-- Note the meta-data tag has to be inside the application tag -->
<meta-data
  android:name="rox.apiKey"
  android:value="ROLLOUT_ENV_KEY"
/>

Initialize the CloudBees Rollout SDK by adding the following to the onCreate() method of your application class or main activity.

If your app contains a class that inherits from the application class, that is the right place to initialize the CloudBees Rollout SDK. If not, you should initialize it in the main activity class of your app.
OnCreate() main class
Rox.setup(this);
Rox.setup(this.getApplication());

Create a container class called Flags.java with the following code

This container class is where we will define all of our feature flags.

import io.rollout.configuration.RoxContainer;
import io.rollout.flags.RoxFlag;

// Create Roxflag in the Flags container class
public class Flags implements RoxContainer {
  //Define the feature flags
    public RoxFlag enableTutorial = new RoxFlag(false),
  public RoxVariant titleColors = new RoxVariant("White", new String[] {"White", "Blue", "Green", "Yellow"})

}

Add the following lines of code to your application

import io.rollout.android.Rox;

public class App extends Application {
  @Override
  public void onCreate() {
    super.onCreate();

    //Initialize Flag container class that we created earlier
    Flags flags = new Flags();

    // Register the flags container
    Rox.register("", flags);

    // Setup the key
    Rox.setup(this);

    // This can also be done in the MainActivity
    // if your app doesn't extends the Application class

    // Boolean flag example
    if (flags.enableTutorial.isEnabled()) {
      // TODO:  Put your code here that needs to be gated
    }
    // Multivariate Flag
    if (flags.titleColors.value() == "Blue") {
      Log.i(tag, "Title color is blue");
    } else if (Flags.titleColors.value() == "Green") {
      Log.i(tag, "Title color is green");
    } else if (Flags.titleColors.value() == "Yellow") {
      Log.i(tag, "Title color is yellow");
    } else if (Flags.titleColors.value() == "White") {
      Log.i(tag, "Title color is white");
    }
  }
}

Container class registration and environment key setup

  • You cannot call Rox.setup() twice in the same runtime.

Run your application

Running the application

The flag name is automatically added to the CloudBees Rollout dashboard after running the application.

Step 3 - Deploying a feature flag

Finding your flags in the CloudBees Rollout dashboard

After creating feature flags and running your feature code, you can find your flags in the CloudBees Rollout dashboard.

To find your flags in the dashboard:

  1. Find your application in the CloudBees Rollout dashboard. To switch between apps, click on the app name in the top-left corner of the screen and select the app you want from the pulldown.

  2. Click on Flags on the left side of the navigation panel.

  3. Confirm that your flag is listed in the flag view.

Configuring deployment rules

  1. Go to the CloudBees Rollout dashboard.

  2. Click on Experiments on the left panel.

  3. Click the Create Experiment button to create a new experiment.

  4. In the New Experiment window:

    • Find the Flag name from the menu, choose it.

    • Click the Set Audience button to continue. The Experiment Details view appears.

  5. Select either True, False, Split or Scheduled. Split allows you to select the percentage of the target group that you want to deploy. Scheduled allows you to schedule a deployment date.

    Audience

  6. Click Update Audience.

  • You cannot delete the default condition.

  • You can click the Reset link to go back to the state from before you started making changes. Reset only appears when you’ve made saved modifications.

See Audience for more detailed information.