Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

cordova-plugin-optimizely

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cordova-plugin-optimizely

Cordova plugin for the Optimizely Mobile SDKs

  • 0.3.0
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Optimizely Cordova Plugin

iOS Build Build Status

Android Build Circle CI

Cordova Plugin for the Optimizely iOS and Android SDKs

Allows developers developing hybrids apps using Cordova platforms such as Phonegap, Crosswalk, Ionic, Intel XDK to use the Optimizely SDKs for A/B testing and beyond!

Table of Contents

  1. Usage
  2. Available Features
  3. Live Variables
  4. Code Blocks
  5. APIs

Usage

1. Download plugin

git clone https://github.com/optimizely/optimizely-cordova-plugin

2. Install into project

cd into root of your cordova/phonegap project
cordova plugin add <PATH TO PLUGIN>

3. Build your app

cordova build

4. Use the optimizely object to make API calls

Start A/B Testing!

  1. If you haven't already, sign up for an account at Optimizely

  2. Create a Android or iOS project

  3. Grab your project token

  4. Call startOptimizely with your token

window.optimizely.startOptimizely(<token>)
  .then(
    function(result) {
      // success callback
    },
    function(error) {
      // error callback
    }
  )

Available Features

The optimizely cordova plugin allows cordova based apps to use the Live Variable and Code Block features of the Optimizely Mobile SDKs. Visual experiments are currently not supported.

1. Live Variables

Live Variables allow you to designate variables in your app that can be assigned values in the Optimizely editor. These values can be modified by Optimizely's editor even after you have released your app to the app store. For example, you might want to create an experiment that tests various values for gravity.

To register a live variable you can call the Optimizely API:

window.optimizely.numberVariable('gravity', 9.8)
  .then(
    function() {
      // this callback function will execute once the variable has been registered with the Optimizely SDK
    },
    function(errorMsg) {
     // error callback
    }
  );

To use the live variable:

window.optimizely.numberForKey('gravity')
  .then(
    function(variableValue) {
      // this callback function will execute once the plugin has retrieved the stored value for the given variable key.
    },
    function(errorMsg) {
      // error callback
    }
  );

2. Code Blocks

Code Blocks allow developers to create variations that execute different code paths. For example, one use case might be to test various checkout flows.

To register a code block:

window.optimizely.codeBlock('checkoutFlow', ['single_page', 'multi_page'])
  .then(
    function() {
      // success callback
    },
    function(errorMsg) {
      // error callback
    }
  );

To use a code block:

window.optimizely.executeCodeBlock(
  'checkoutFlow',
  [
    function() {
      // single page checkout flow
    },
    function() {
      // multi page checkout flow
    }
  ],
  this,
  function(errorMsg) {
    // error callback
  }
)

APIs

Aside from the APIs for registering and using Live Variables and Code Blocks, the plugin also exposes the following APIs:

  • window.optimizely.enabledEditor()
  • window.optimizely.startOptimizely(projectToken)
  • `window.optimizely.trackEvent('eventName')
  • window.optimizely.trackRevenueWithDescription(100, 'revenueDescription')

All API calls return a Promise object using the ES6 promise specification.

For more information on these APIs please visit Android Docs or iOS Docs

More documentation coming soon!

Keywords

FAQs

Package last updated on 29 Mar 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc