react-native-letote-adhoc
Version:
AdhocSDK for react native application
160 lines (105 loc) • 4.76 kB
Markdown
## react-native-adhoc Android API
所有的 API 都能在 [react-native-adhoc/index.js](../index.js) 中查到。
引入 react-native-adhoc
```
import AdhocSDK from 'react-native-adhoc'
```
#### API
- getNumberFlag(String, Number, Function)
获取后台设置的指定的Number类型试验变量的值,试验变量的名字注意与后台保持一致,Number 为默认值参数
```
AdhocSDK.getNumberFlag('flag_nameXXX', 1, flagValue => { // 1 是试验变量的默认值,即从后端没有获取到变量值的情况下,这个方法应该返回什么值。
});
```
- getBooleanFlag(String, boolean, Function)
获取后台设置的指定的 Boolean 类型试验变量的值,试验变量的名字注意与后台保持一致,boolean 为默认值参数
```
AdhocSDK.getBooleanFlag('flag_nameXXX', false, flagValue => { // false 是试验变量的默认值,即从后端没有获取到变量值的情况下,这个方法应该返回什么值。
});
```
- getStringFlag(String, String, Function)
获取后台设置的指定的字符串类型试验变量的值,试验变量的名字注意与后台保持一致,String 为默认值参数
```
AdhocSDK.getStringFlag('flag_nameXXX', 'default_stringXXX', flagValue => { // default_stringXXX 是试验变量的默认值,即从后端没有获取到变量值的情况下,这个方法应该返回什么值。
});
```
- track(String, Number)
统计需要的优化指标,用以实现科学有效的测试
```
AdhocSDK.track('stat_nameXXX', 1); // stat_nameXXX 是指标名称;1 是指标增加值。
```
- trackWithAttribute(String, Number, Dictionary)
统计需要的优化指标(可以添加附加信息),用以实现科学有效的测试
```
AdhocSDK.trackWithAttribute('stat_nameXXX', 1, {name: 'Tom', age: 18}); // stat_nameXXX 是指标名称;1 是指标增加值, {name: 'Tom', age: 18} 是多维度统计需要的维度和值。
```
- getCurrentExperiments(Function)
获取当前设备所在试验的试验名称和试验ID列表
```
AdhocSDK.getCurrentExperiments(experiments => {
});
```
- isJoinedExperimentByFlagName(String,Function)
返回设备是否(true或false)已经加入flagName所属试验
```
AdhocSDK.isJoinedExperimentByFlagName('FlagName',isJoined => {
});
```
- getClientId(Function)
获取当前设备所在试验的试验名列表和试验ID
```
AdhocSDK.getClientId(clientId => {
});
```
- asynchronousGetNumberFlag(String, Number, Function)
异步方式从服务器直接获取Number类型试验变量的值
```
AdhocSDK.asynchronousGetNumberFlag('flagName', 1, flagValue => {
// 1 是试验变量的默认值
});
```
- asynchronousGetStringFlag(String, String, Function)
异步方式从服务器直接获取字符串类型试验变量的值
```
AdhocSDK.asynchronousGetStringFlag('flagName', 'default_stringXXX', flagValue => {
// default_stringXXX 是试验变量的默认值
});
```
- asynchronousGetBooleanFlag(String, boolean, Function)
异步方式从服务器直接获取Bool类型试验变量的值
```
AdhocSDK.asynchronousGetBooleanFlag('flagName', false, flagValue => {
// false 是试验变量的默认值
});
```
-------------------------------------------
- fastGetNumberFlag(String, Number, Function)
如果本地有缓存,则返回缓存数据,否则异步从服务端获取最新Number类型的试验数据
```
AdhocSDK.fastGetNumberFlag('flagName', 1, flagValue => {
// 1 是试验变量的默认值
});
```
- fastGetStringFlag(String, String, Function)
如果本地有缓存,则返回缓存数据,否则异步从服务端获取最新String类型的试验数据
```
AdhocSDK.fastGetStringFlag('flagName', 'default_stringXXX', flagValue => {
// default_stringXXX 是试验变量的默认值
});
```
- fastGetBooleanFlag(String, boolean, Function)
如果本地有缓存,则返回缓存数据,否则异步从服务端获取最新Boolean类型的试验数据
```
AdhocSDK.fastGetBooleanFlag('flagName', false, flagValue => {
// false 是试验变量的默认值
});
```
-----------------------------
- addUserAttribute(String, String)
添加自定义用户标签,可以多次调用不会覆盖
注:使用此方法需要结合asyncGetFlag,否则可能会导致统计不准确。
使用方法:注意调用顺序,先调用setUserAttribute,然后调用asyncGetFlag方法
添加自定义标签也可以在初始化配置项目添加AdhocConfig.Builder.addCustom(String,String)
```
AdhocSDK.addUserAttribute('key', 'value')
```