本文为您介绍React Native端为您提供的一系列API,您可以结合埋点规划调用对应API进行埋点。
作用:设置用户登录态。在初始化之后设置user_unique_id值,SDK会保存,因此只需要发生变化的时候设置。
定义:setUserUniqueId(userUniqueID: string | null): void
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
userUniqueID | string | null | 是,可null |
示例:
import { NativeModules } from 'react-native'; const { RangersAppLogModule } = NativeModules; // 登录时设置您账号体系的ID, 并保证其唯一性 RangersAppLogModule.setUserUniqueId('{{USER_UNIQUE_ID}}');
import { NativeModules } from 'react-native'; const { RangersAppLogModule } = NativeModules; // 登出时设置uuid为null RangersAppLogModule.setUserUniqueId(null);
作用:上报事件,在初始化之后才能调用。
定义:onEventV3(eventName: string, params?: Record<string, string | number | boolean>): void
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
eventName | string | 是 | 事件名称,不能空字符串 |
params | Record<string, string | number | boolean>
|
示例:
import { NativeModules } from 'react-native'; const { RangersAppLogModule } = NativeModules; // 示例:上报事件event_name,该事件不包含属性 RangersAppLogModule.onEventV3("event_name"); // 示例:上报事件event_name,该事件包含两个属性 // 一个string类型的属性,属性名为key_string,属性值为value_string // 一个int类型的属性,属性名为key_int,属性值为10 RangersAppLogModule.onEventV3("event_name", { "key_string": "value_string", "key_int": 10 });
作用:设置自定义的公共属性。
定义:setHeaderInfo(customHeader: Record<string, string | number | boolean>): void
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
customHeader | Record<string, string | number | boolean> |
示例:
import { NativeModules } from 'react-native'; const { RangersAppLogModule } = NativeModules; // 示例:设置自定义的公共属性,属性名为key_public,属性值为value_public RangersAppLogModule.setHeaderInfo({ "key_public": "value_public" });
作用:移除自定义的公共属性。
定义:removeHeaderInfo(key: string): void
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
key | string | 是 | 自定义上报key(自定义公共属性名) |
示例:
import { NativeModules } from 'react-native'; const { RangersAppLogModule } = NativeModules; // 示例:移除自定义的公共属性,属性名为key_public RangersAppLogModule.removeHeaderInfo("key_public");
作用:获取火山引擎平台自动生成的device_id。
定义:getDeviceId(): Promise
返回值:
类型 | 说明 |
---|---|
Promise | 异步返回火山引擎平台自动生成的device id。 |
示例:
import { NativeModules } from 'react-native'; const { RangersAppLogModule } = NativeModules; // 示例:获取did let didPromise = RangersAppLogModule.getDeviceID(); didPromise.then((deviceID) => { console.log(deviceID); });
SDK提供AB实验能力,并提供了一系列的方法:getABTestConfigValueForKey、getAbSdkVersion、getAllAbTestConfigs。
注意
需要在原生端代码的初始化时开启AB相应设置。
作用:获取AB实验的配置值,在初始化之后设置才能调用。
定义:getABTestConfigValueForKey(key: string, defaultValue: any): Promise
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
key | string | 是 | AB实验配置的实验参数的key |
defaultValue | any | 是 | 兜底的A/B实验的实验参数默认值。如果没有开启A/B实验,或者A/B实验对应的实验参数未配置参数取值,则通过此方法返回该默认值。 |
返回值:
类型 | 说明 |
---|---|
Promise | 异步返回AB实验配置的值 |
示例:
import { NativeModules } from 'react-native'; const { RangersAppLogModule } = NativeModules; RangersAppLogModule.getABTestConfigValueForKey('ab_test_key', 'default_value').then((value) => { console.log(value); });
作用:获取已曝光的AB实验配置的vids,在初始化之后设置才能调用。
定义:getAbSdkVersion(): Promise
返回值:
类型 | 说明 |
---|---|
Promise | 异步返回已曝光的vids,值类似于"1234,2345,1111" |
示例:
import { NativeModules } from 'react-native'; const { RangersAppLogModule } = NativeModules; RangersAppLogModule.getAbSdkVersion().then((vids) => { // vids值如"1234,2345,1111" console.log(vids); });
作用:获取AB实验的所有配置项(实验VID、实验参数等配置项),在初始化之后设置才能调用。
定义:getAllAbTestConfigs(): Promise<Record<string, any>>
返回值:
类型 | 说明 |
---|---|
Promise<Record<string, any>> | 异步返回AB实验所有配置项。 |
示例:
import { NativeModules } from 'react-native'; const { RangersAppLogModule } = NativeModules; RangersAppLogModule.getAllAbTestConfigs().then((result) => { console.log(result); });
提供设置用户属性能力,并提供了一系列的方法:profileSet、profileSetOnce、profileUnset、profileIncrement、profileAppend。
作用:设置用户属性,存在则覆盖,不存在则创建。
定义:profileSet(profileDict: Record<string, string | number | string[]>): void
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
profileDict | Record<string, string | number | string[]> |
示例:
import { NativeModules } from 'react-native'; const { RangersAppLogModule } = NativeModules; RangersAppLogModule.profileSet({"key": "value"});
作用:设置用户属性,存在则不设置,不存在则创建,适合首次相关的用户属性,比如首次访问时间等。与profileSet接口不同的是:若某profile已成功通过profileSetOnce接口设置,那么对该profile再次调用profileSetOnce接口无效。
定义:profileSetOnce(profileDict: Record<string, string | number | string[]>): void
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
profileDict | Record<string, string | number | string[]> |
示例:
import { NativeModules } from 'react-native'; const { RangersAppLogModule } = NativeModules; RangersAppLogModule.profileSetOnce({"key_once": "value_once"});
作用:设置数值类型的属性,可进行累加。
定义:profileIncrement(profileDict: Record<string, number>): void
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
profileDict | Record<string, number> | 是 | 只能自增整数(可以为负整数)。如果传入浮点数,SDK将忽略。 |
示例:
import { NativeModules } from 'react-native'; const { RangersAppLogModule } = NativeModules; RangersAppLogModule.profileSetOnce({"key": 1});
作用:设置集合类型的用户属性,可持续向集合内添加。
定义:profileAppend(profileDict: Record<string, string | string[]>): void
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
profileDict | Record<string, string | string[]> | 是 |
示例:
import { NativeModules } from 'react-native'; const { RangersAppLogModule } = NativeModules; RangersAppLogModule.profileAppend({"key": "value_append"});
作用:删除用户的属性。
定义:profileUnset(key: string): void
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
key | string | 是 | 要unset的profile的名称 |
示例:
import { NativeModules } from 'react-native'; const { RangersAppLogModule } = NativeModules; RangersAppLogModule.profileUnset("key");