用途:这是 CometChat React Native UI Kit v5 集成的基础技能,讲解 RN 上 CometChat 的初始化顺序、Provider 包装链、登录、环境变量、认证令牌以及会破坏真实应用的常见反模式。应先于框架技能(cometchat-native-expo-patterns / cometchat-native-bare-patterns)和布局技能阅读。
主要能力与规则:唯一有效生命周期为 CometChatUIKit.init(settings) → CometChatUIKit.login({ uid }) → 渲染 <CometChat*> 组件,顺序不可变。推荐基于 cometchat-settings.json 的 initFromSettings(GA 于 @cometchat/chat-uikit-react-native >= 5.3.8 + @cometchat/chat-sdk-react-native >= 4.0.25),旧版可用扁平对象 init() 回退。init() 接收扁平 UIKitSettings(appId、region 必填,authKey 仅开发模式),v5 RN 不存在 UIKitSettingsBuilder,误用会在运行时抛错。
使用方式:用模块级标志防止重复初始化;初始化须在首次渲染前完成。getLoggedInUser() 无会话时抛 code: "NOT_FOUND",需 try/catch 视为首次运行路径;login() 在 RN 接收对象形式,传入字符串会静默失败。login() 顺序调用安全但并发不安全,需用进行中的 Promise 复用。生产环境用 login({ authToken })。退出用 CometChatUIKit.logout()。
包装链顺序固定:import "react-native-gesture-handler"(首行)→ GestureHandlerRootView → SafeAreaProvider → CometChatThemeProvider → 自建 CometChatProvider;建议再加 CometChatI18nProvider。环境变量中 REST_API_KEY 仅服务端使用。平台差异涉及 iOS pod install、隐私清单与权限声明,Android 权限,以及推送通知需 APNs + FCM。
限制:资料主要覆盖初始化与登录基础,完整长代码示例、生产令牌端点与疑难排查未在此展开。