
Язык 🇷🇺 Русский
Начало работы
Документация
Использование
Add Comment Widgets to Your React Native App
Это официальная библиотека React Native для FastComments.
Виджеты комментариев FastComments для React Native
Репозиторий
Установка 
npm install react-native-webview@13.6.4 --save
npm install fastcomments-react-native --save
Примечание: по состоянию на июль 2024 года, по-видимому, в react-native-webview есть ошибка, поэтому лучше зафиксировать версию на 13.6.4 - не используйте ^, чтобы получать последующие патч-версии.
Рассмотрите нативный SDK 
Эта библиотека использует webview поверх библиотеки VanillaJS.
FastComments теперь поддерживает полностью нативную реализацию нашего клиента в составе fastcomments-react-native-sdk. Если вам нужна полностью нативная реализация, стоит посмотреть туда.
Использование — виджет комментариев в реальном времени 
The API немного отличается по сравнению с fastcomments-react. В нативной реализации мы передаём объект config, который следует этой структуре.
import { FastCommentsCommentWidget } from 'fastcomments-react-native';
// ...
const myTenantId = 'demo'; // Ваш tenant id. Его можно получить с https://fastcomments.com/auth/my-account/api-secret
const myAppPageId = 'native-test'; // ID или URL потока комментариев в вашем приложении.
const myAppPageUrl = 'https://example.com/external-page'; // вы можете опционально задать url внешней страницы
const myAppPageTitle = 'Example Title'; // ... и, вероятно, вы захотите заголовок для этого контента
const [config, setConfig] = useState({
tenantId: myTenantId,
urlId: myAppPageId,
url: myAppPageUrl,
pageTitle: myAppPageTitle
});
// вызвав setConfig(), мы можем, например, менять текущую страницу или текущего авторизованного пользователя
// См. example/src/App.tsx
return (
<FastCommentsCommentWidget config={config}/>
);
Использование — виджет чата в реальном времени 
import { FastCommentsLiveChatWidget } from 'fastcomments-react-native';
// ...
const myTenantId = 'demo'; // ID вашего тенанта. Можно получить с https://fastcomments.com/auth/my-account/api-secret
const myAppPageId = 'native-test'; // ID или URL потока комментариев в вашем приложении.
const myAppPageUrl = 'https://example.com/external-page'; // При желании можно указать URL внешней страницы
const myAppPageTitle = 'Example Title'; // ... и, вероятно, вам понадобится заголовок для этого контента
const config = {
tenantId: myTenantId,
urlId: myAppPageId,
url: myAppPageUrl,
pageTitle: myAppPageTitle
};
return (
<FastCommentsLiveChatWidget config={config}/>
);
Использование — SSO (единый вход) 
FastComments использует HMAC для защищённого SSO. Чтобы использовать, попросите бэкенд создать объект SSO (sso свойство конфигурации) и передать его
виджету комментариев.
Примеры для различных бэкендов можно найти здесь: https://github.com/FastComments/fastcomments-code-examples/tree/master/sso
Peer-зависимости 
fastcomments-react-native requires react-native-webview. As such, you should follow the installation steps for react-native-webview.
Регион аккаунта (ВНИМАНИЕ: клиенты ЕС)
Если ваш аккаунт находится в ЕС, установите region = 'eu' в конфигурации виджета.
В противном случае вам не нужно определять region.
Нужна помощь?
Если вы столкнулись с проблемами или у вас есть вопросы по библиотеке React Native, пожалуйста:
Вклад
Вклады приветствуются! Пожалуйста, посетите репозиторий GitHub для получения инструкций по внесению вклада.