react-native-letote-adhoc
Version:
AdhocSDK for react native application
174 lines (157 loc) • 3.81 kB
JavaScript
import React, { NativeModules } from "react-native";
const RNAdhoc = NativeModules.RNAdhoc;
export default class AdhocSDK {
/**
* iOS Only
*/
static getFlag(flagName, defaultValue, callback) {
RNAdhoc.getFlag(flagName, defaultValue, (error, flagValue) => {
if (error) {
console.error(error);
} else {
callback(flagValue);
}
});
}
/**
* Android Only
*/
static initSdk(key) {
RNAdhoc.initSdk(key);
}
/**
* Android Only
*/
static getNumberFlag(flagName, defaultNumber, callback) {
RNAdhoc.getNumberFlag(flagName, defaultNumber, (flagValue) => {
callback(flagValue);
});
}
/**
* Android Only
*/
static getStringFlag(flagName, defaultString, callback) {
RNAdhoc.getStringFlag(flagName, defaultString, (flagValue) => {
callback(flagValue);
});
}
/**
* Android Only
*/
static getBooleanFlag(flagName, defaultBooleanValue, callback) {
RNAdhoc.getBooleanFlag(flagName, defaultBooleanValue, (flagValue) => {
callback(flagValue);
});
}
/**
* iOS Only
*/
static getFlagFast(flagName, defaultValue, callback) {
RNAdhoc.getFlagFast(flagName, defaultValue, 30000, (error, flagValue) => {
if (error) {
console.error(error);
} else {
callback(flagValue);
}
});
}
/**
* iOS only
*/
static asynchronousGetFlag(flagName, defaultValue, callback) {
RNAdhoc.asynchronousGetFlag(
flagName,
defaultValue,
30000,
(error, flagValue) => {
if (error) {
console.error(error);
} else {
callback(flagValue);
}
}
);
}
/**
* Android only
*/
static fastGetNumberFlag(flagName, defaultNumberValue, callback) {
RNAdhoc.getFlagFast(flagName, defaultNumberValue, (value) => {
callback(value);
});
}
/**
* Android only
*/
static fastGetBooleanFlag(flagName, defaultBooleanValue, callback) {
RNAdhoc.getFlagFast(flagName, defaultBooleanValue, (value) => {
callback(value);
});
}
/**
* Android only
*/
static fastGetStringFlag(flagName, defaultStringValue, callback) {
RNAdhoc.getFlagFast(flagName, defaultStringValue, (value) => {
callback(value);
});
}
/**
* Android only
*/
static asynchronousGetNumberFlag(flagName, defaultNumberValue, callback) {
RNAdhoc.asynchronousGetNumberFlag(flagName, defaultNumberValue, (value) => {
callback(value);
});
}
/**
* Android only
*/
static asynchronousGetBooleanFlag(flagName, defaultBooleanValue, callback) {
RNAdhoc.asynchronousGetBooleanFlag(
flagName,
defaultBooleanValue,
(value) => {
callback(value);
}
);
}
/**
* Android only
*/
static asynchronousGetStringFlag(flagName, defaultStringValue, callback) {
RNAdhoc.asynchronousGetStringFlag(flagName, defaultStringValue, (value) => {
callback(value);
});
}
static track(key, value) {
RNAdhoc.track(key, value);
}
static trackWithAttribute(key, value, attribute) {
RNAdhoc.trackWithAttribute(key, value, attribute);
}
/**
* Android only
*/
static addUserAttribute(key, value) {
RNAdhoc.addUserAttribute(key, value);
}
static trackWithAttributie(key, value, attribute) {
RNAdhoc.trackWithAttribute(key, value, attribute);
}
static getCurrentExperiments(callback) {
RNAdhoc.getCurrentExperiments((experiments) => {
callback(experiments);
});
}
static isJoinedExperimentByFlagName(key, callback) {
RNAdhoc.isJoinedExperimentByFlagName(key, (isJoined) => {
callback(isJoined);
});
}
static getClientId(callback) {
RNAdhoc.getClientId((clientId) => {
callback(clientId);
});
}
}