@atlasinc/react-native-sdk

中文文档
0.9.0发布于 2025/05/07MITTypeScriptESM + CJS近 30 天下载 3929

test

原始使用文档
文档目录3 节
  1. Installation
  2. Usage
  3. License

@atlasinc/react-native-sdk

Atlas customer support chat widget

Installation

This module requires react-native-webview to be installed:

npm install @atlasinc/react-native-sdk react-native-webview

Usage

import React, { useState, useEffect, useContext } from 'react';
import { createAtlasSupportSDK } from '@atlasinc/react-native-sdk';

// For demo purpose, assume that user credentials are stored in the React context
import UserContext from './user-context';

// The APP_ID can be found on Atlas Company Settings page: https://app.atlas.so/settings/company
const {
  // Authentication method
  identify,
  // Realtime updates on conversations status
  watchAtlasSupportStats,
  // Manually set custom ticket fields
  updateAtlasCustomFields,
  // Chat widget
  AtlasSupportWidget
} = createAtlasSupportSDK({
  // Application ID can be found at https://app.atlas.so/settings/company
  appId: 'APP_ID',
  // Optional user data that can be set later via identify() function
  userId: '',
  userHash: '',
  userName: '',
  userEmail: '',
  // Optional error callback
  onError: (error) => console.error(error)
});

function Component() {
  // User identification
  const user = useContext(UserContext);
  useEffect(() => {
    // Read more about Atlas authentication: https://help.atlas.so/articles/620722-user-authentication
    identify({
      userId: user.id,
      userHash: user.atlasHash,
      userName: user.fullName,
      userEmail: user.email
    });
  }, [user]);

  // Unread messages counter
  const [unread, setUnread] = useState(0);
  useEffect(() => {
    const unsubscribe = watchAtlasSupportStats(({ conversations }) => {
      // Counting amount of unread messages from each conversation
      const unreadTotal = conversations.reduce((total, c) => total + c.unread, 0);
      setUnread(unreadTotal);
    });
    return unsubscribe;
  }, []);

  // Using chat widget
  return (
    <View>
      <AtlasSupportWidget
        style={{ flex: 1 }}
        onNewTicket={(data) => updateAtlasCustomFields(data.ticketId, { customTicketField: 'value' })}
      />
    </View>
  );
}

License

MIT


Made with create-react-native-library

版本与发布记录

@atlasinc/react-native-sdk 共发布 28 个版本,首次发布于 2022/11/11;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.9.0latest2025/05/071.5 年前
0.8.32025/03/081.7 年前
0.8.22025/03/081.7 年前
0.8.12025/03/081.7 年前
0.8.02025/03/081.7 年前
0.7.22025/03/071.7 年前

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

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

test

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

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

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

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

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

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

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

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

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

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

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

最新版本 0.9.0 发布于 2025/05/07(1.5 年前);至今共发布 28 个版本,其中过去 12 个月发布了 0 个;首次发布于 2022/11/11。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。