@featbit/react-native-sdk

中文文档
4.4.2发布于 2026/11/04MITTypeScriptCommonJS近 30 天下载 8951

FeatBit 客户端 SDK 反应原生

中文使用文档
文档目录9 节
  1. 导言
  2. 开始
  3. 安装
  4. 先决条件
  5. 快速启动
  6. 实例
  7. SDK 软件
  8. 初始化 SDK
  9. 生命周期认识流

FeatBit 客户端- Side SDK 用于反应原生

导言

这是特性管理平台的回放原生 SDK 费特比特。 。 。 .

要注意,这是客户端SDK,它打算用于单用户上下文,可以是移动,桌面或嵌入式应用程序. 这个SDK被设计用于React Industrial项目.

React 本地 SDK 是基于 React 客户端 SDK
React Introduct SDK基于FeatBit的React客户端SDK(后者依赖于JavaScript客户端SDK)提供更好的集成,用于React Introduct应用. 因此,许多React客户端SDK和JavaScript SDK功能也可供React Natural SDK使用.

开始

安装

npm install @featbit/react-native-sdk

先决条件

在使用SDK之前,需要获得环境秘密和SDK URL.

遵循以下文档获取这些值

快速启动

以下代码显示:

  1. 初始化 SDK
  2. 用用户 Flags 钩子评估旗帜
// src/TestComponent.tsx
import React from 'react';
import {Text, View} from 'react-native';
import {Colors} from 'react-native/Libraries/NewAppScreen';
import {useFlags} from '@featbit/react-client-sdk';

export default function TestCompoment({isDarkMode}: {isDarkMode: boolean}) {
    const {robot} = useFlags();
    return (
        <View
            style={[
                {
                    marginTop: 32,
                    paddingHorizontal: 24,
                },
            ]}>
            {robot === 'AlphaGo' && (
                <Text
                    style={[
                        {
                            color: isDarkMode ? Colors.white : Colors.black,
                            textAlign: 'center',
                            fontSize: 30,
                            fontWeight: '700',
                        },
                    ]}>
                    AlphaGo 🤖
                </Text>
            )}
        </View>
    );
}

// App.tsx
import React from 'react';
import {
    SafeAreaView,
    useColorScheme
} from 'react-native';
import type { PropsWithChildren } from 'react';
import {buildConfig, withFbProvider} from '@featbit/react-native-sdk';
import TestCompoment from './src/TestComponent.tsx';

function App(): React.JSX.Element {
    const isDarkMode = useColorScheme() === 'dark';

    const backgroundStyle = {
        backgroundColor: isDarkMode ? Colors.darker : Colors.lighter,
    };

    return (
        <SafeAreaView style={backgroundStyle}>
            <TestCompoment isDarkMode={isDarkMode} />
        </SafeAreaView>
    )
}

const options = {
    user: {
        name: 'the user name',
        keyId: 'fb-demo-user-key',
        customizedProperties: []
    },
    sdkKey: 'YOUR ENVIRONMENT SECRET',
    streamingUri: 'THE STREAMING URL',
    eventsUrl: 'THE EVENTS URL'
};

export default withFbProvider(buildConfig({options}))(App);

实例

SDK 软件

React 本地 SDK 依赖于 React 客户端 SDK, 请参考 反应客户端 SDK 更多信息. 反应客户端SDK与反应原生SDK的主要区别在于SDK的初始化方式.

初始化 SDK

安装依赖后,初始化反应SDK. 你可以通过两种方式之一做到这一点:

  • 使用 asyncWithFbProvider 函数
  • 使用 withFbProvider 函数

在使用上述两种方法之前,需要创建 IOption 对象,请确定您已呼叫 buildConfig 函数与 IOption 对象作为参数.

function App(): React.JSX.Element {
    // The App component code ...
}

const options = {
    user: {
        name: 'the user name',
        keyId: 'fb-demo-user-key',
        customizedProperties: []
    },
    sdkKey: 'YOUR ENVIRONMENT SECRET',
    streamingUri: 'THE STREAMING URL',
    eventsUrl: 'THE EVENTS URL'
};

// This line is needed to initialize the SDK
const config = buildConfig({options});

export default withFbProvider(config)(App);

生命周期认识流

使用流线时( W)dataSyncMode: 'streaming'),SDK是生命周期意识出盒子. A 类 WebSocket无法从iOS背景悬浮或Android doze中幸存,而OS可能永远无法交付一个 干净 close,所以一个天真客户端 不停地拨打一个死套接字 并重新盲目连接在简历。 改为: 避免此操作, SDK 会在应用程序背景化或下线后不久即放弃连接 当连接返回时,在前景上重新建立它——立即进行再同步.

这是由React Industrial的驱动 AppState 自动启用; 没有任何线 起来 短暂中断( iOS 应用程序切换器、 瞬间网络 blips) 被解禁, 以免被解禁 切断连接 如果应用程序从来就没有背景,也从未报告网络的变化,那么行为就是 和一直连接的一样.

网络丢失检测是可选的. 如果您也安装 @react-native-community/netinfo, (中文(简体) ), 该流额外暂停网络丢失, 恢复重新连接; 没有它, AppState 单靠自己就能推动行为.

npm install @react-native-community/netinfo

版本与发布记录

@featbit/react-native-sdk 共发布 27 个版本,首次发布于 2024/05/20;过去 12 个月发布了 17 个版本。

版本发布日期距今
4.4.2latest2026/11/0410 天前
4.4.12026/10/3114 天前
4.4.02026/10/3014 天前
4.3.62026/10/1926 天前
4.3.52026/08/172 个月前
4.3.32026/08/133 个月前

关于 @featbit/react-native-sdk 的常见问题

@featbit/react-native-sdk 是什么?

FeatBit 客户端 SDK 反应原生

如何安装 @featbit/react-native-sdk?

在项目目录运行 npm install @featbit/react-native-sdk,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(*)、react-native(*)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@featbit/react-native-sdk 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@featbit/react-native-sdk 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@featbit/react-native-sdk 可以商用吗?

@featbit/react-native-sdk 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@featbit/react-native-sdk 的下载量有多少?

根据 npm 官方下载统计,@featbit/react-native-sdk 在 2026/10/15 – 2026/11/13 这 30 天内被下载 8,951 次,日均约 298 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@featbit/react-native-sdk 还在维护吗?

最新版本 4.4.2 发布于 2026/11/04(10 天前);至今共发布 27 个版本,其中过去 12 个月发布了 17 个;首次发布于 2024/05/20。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。