Skip to content

JavaScript SDK

Installation

Terminal window
$ npm install --save @progressively/sdk-js

Usage

Create an SDK instance

import { Progressively } from "@progressively/sdk-js";
// These options are only necessary when self hosting
const options = {
apiUrl: "your url server",
websocketUrl: "your url server for websockets",
};
const sdk = Progressively.init("YOUR_ENVIRONMENT_CLIENT_KEY", options);

The options object can also receive other (optional) attributes such as fields and flags

fields is an option that allows passing data about your users to restrain the audience eligibility. For instance, you can set an email field, and in Progressively’s dashboard, you can create a rule that only targets people that matches that field:

// These options are only necessary when self hosting
const options = {
apiUrl: "your url server",
websocketUrl: "your url server for websockets",
fields: {
email: "@progressively.com",
},
};

flags is an option that is mostly used for server-side rendering. You should not directly use it in your code, except if you are building a server integration that does not yet.

Load the flags

Makes an HTTP request to the Progressively server to retrieve the status of the flags.

sdk.loadFlags();

Listen to WebSockets updates

Start WebSockets update for realtime subscriptions. websocketUrl should be passed for this method to work.

sdk.onFlagUpdate((nextFlags) => {}, optionalUserId);

Disconnect the WebSockets

Explicitly disconnect the websocket.

sdk.disconnect();