Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions llms.txt
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
<!-- repo: clix-so/clix-react-native-sdk -->
<!-- ref: main -->
<!-- commit: d433587cbd08a14a6e538ae1bfa5dad7ba82d82f -->
<!-- generated_at: 2025-12-23T06:33:16Z -->
<!-- commit: a5dee01c084524b108f85023240894cd08eed2f6 -->
<!-- generated_at: 2026-01-12T10:30:27Z -->
# Platform: React Native

## /
- [Readme](https://raw.githubusercontent.com/clix-so/clix-react-native-sdk/main/README.md): Developer-facing README detailing installation, peer dependencies, React Native/Firebase setup, Clix initialization (`Clix.initialize`), user management APIs, notification handling via `NotificationService.
- [Changelog](https://raw.githubusercontent.com/clix-so/clix-react-native-sdk/main/CHANGELOG.md): CHANGELOG.md provides semantic-versioned release notes and migration-impacting details for the React Native SDK—including ClixConfig initialization, trackEvent and Clix.
- [Changelog](https://raw.githubusercontent.com/clix-so/clix-react-native-sdk/main/CHANGELOG.md): Changelog documenting semantic-versioned releases and notable SDK changes (init via ClixConfig, trackEvent, Clix.Notification APIs, FCM/Notifee push handling, device/token APIs), with dependencies and platform requirements and migration/behavioral notes.
- [License](https://raw.githubusercontent.com/clix-so/clix-react-native-sdk/main/LICENSE): Defines the SDK’s modified MIT license, granting standard use/modify/distribute rights but legally restricting all substantial use to Clix services and disallowing repurposing for unrelated platforms without explicit permission.
- [Package](https://raw.githubusercontent.com/clix-so/clix-react-native-sdk/main/package.json): Package manifest for @clix-so/react-native-sdk: declares main/types/exports (./lib/module/index.
- [Package](https://raw.githubusercontent.com/clix-so/clix-react-native-sdk/main/package.json): Package manifest that defines @clix-so/react-native-sdk’s metadata, exports (./src/index.
- [Tsconfig](https://raw.githubusercontent.com/clix-so/clix-react-native-sdk/main/tsconfig.json): TypeScript compiler configuration enforcing strict type-safety and noEmit, React JSX and bundler moduleResolution, mapping package alias @clix-so/react-native-sdk →./src/index, targeting ESNext with noUnused/noUnchecked checks and resolveJsonModule for build/IDE tooling.
- [Tsconfig.build](https://raw.githubusercontent.com/clix-so/clix-react-native-sdk/main/tsconfig.build.json): TypeScript build configuration that extends the base `tsconfig`, excluding `samples` and compiled `lib` output from the build to control which source files are processed and emitted.
- [Babel.config](https://raw.githubusercontent.com/clix-so/clix-react-native-sdk/main/babel.config.js): Configures Babel to use `react-native-builder-bob` presets for the SDK source and `@react-native/babel-preset` for `node_modules`, ensuring correct transpilation behavior for library code versus external dependencies.
Expand All @@ -34,7 +34,7 @@
- [Index](https://raw.githubusercontent.com/clix-so/clix-react-native-sdk/main/src/index.ts): Package entry point that re-exports the default Clix SDK class from./core/Clix and the ClixLogLevel enum from.

## src/core
- [Clixnotification](https://raw.githubusercontent.com/clix-so/clix-react-native-sdk/main/src/core/ClixNotification.ts): ClixNotification provides a singleton facade that waits for Clix initialization and proxies notification flows to Clix.shared.
- [Clixnotification](https://raw.githubusercontent.com/clix-so/clix-react-native-sdk/main/src/core/ClixNotification.ts): Singleton ClixNotification wraps Clix.notificationService/tokenService, exposing configure (sets autoHandleLandingUrl, optional autoRequestPermission), requestPermission, setPermissionGranted, getToken and on* handler setters, awaiting Clix.
- [Clixinitcoordinator](https://raw.githubusercontent.com/clix-so/clix-react-native-sdk/main/src/core/ClixInitCoordinator.ts): ClixInitCoordinator manages SDK initialization synchronization by exposing waitForInitialization() (awaits internal Promise), completeInitialization() (resolves and marks complete), and failInitialization() (logs via ClixLogger, rejects and marks failed), preventing double-finalization.
- [Clix](https://raw.githubusercontent.com/clix-so/clix-react-native-sdk/main/src/core/Clix.ts): Root SDK singleton that initializes Clix services (API client, storage, token, device, event, notification), persists config, orchestrates async startup via ClixInitCoordinator, and exposes developer APIs (initialize, set/remove userId/properties, trackEvent, setLogLevel, getDeviceId) and Notification.
- [Clixconfig](https://raw.githubusercontent.com/clix-so/clix-react-native-sdk/main/src/core/ClixConfig.ts): Defines the exported ClixConfig interface specifying SDK initialization parameters—projectId, apiKey, endpoint, logLevel (ClixLogLevel import), and extraHeaders—used by core clients to configure authentication, endpoints, logging, and request headers.
Expand All @@ -46,7 +46,7 @@
- [Clixdevice](https://raw.githubusercontent.com/clix-so/clix-react-native-sdk/main/src/models/ClixDevice.ts): ClixDevice is an immutable TypeScript model with readonly properties encapsulating device/app/sdk metadata (IDs, platform/model/manufacturer, OS, locale, timezone, app/sdk versions, adId, push permission/token), exposing a constructor and copyWith(updates: Partial<ClixDevice>) to produce updated instances.

## src/services
- [Notificationservice](https://raw.githubusercontent.com/clix-so/clix-react-native-sdk/main/src/services/NotificationService.ts): NotificationService exposes initialize/cleanup/requestPermission and handler callbacks, wires @notifee and @react-native-firebase/messaging to set up listeners, manage FCM token refresh, parse Clix payloads, display notifications, open landing URLs, track push events via EventService, and update DeviceService/TokenService.
- [Notificationservice](https://raw.githubusercontent.com/clix-so/clix-react-native-sdk/main/src/services/NotificationService.ts): NotificationService manages push lifecycle—initializing notifee/FCM listeners (initialize/cleanup), permission requests, token refresh, foreground/background message and tap handlers, parsing Clix payloads, displaying Android/iOS notifications via notifee, opening landing URLs and tracking events via DeviceService/TokenService/EventService.
- [Deviceservice](https://raw.githubusercontent.com/clix-so/clix-react-native-sdk/main/src/services/DeviceService.ts): DeviceService manages local device identity and ClixDevice creation (using react-native-device-info, Firebase Messaging, ClixVersion), persists/generated device ID via StorageService, saves FCM token via TokenService, and upserts device/user properties through DeviceAPIService via public APIs: initialize, createDevice, updatePushToken/Permission, set/removeProjectUserId, update/removeUserProperties.
- [Tokenservice](https://raw.githubusercontent.com/clix-so/clix-react-native-sdk/main/src/services/TokenService.ts): TokenService wraps a StorageService to persist and retrieve the current push token under key 'clix_current_push_token', exposing constructor(storageService), getCurrentToken(): string|undefined and saveToken(token): void.
- [Storageservice](https://raw.githubusercontent.com/clix-so/clix-react-native-sdk/main/src/services/StorageService.ts): StorageService wraps react-native-mmkv (v2/v3/v4), providing multi-process, App Group path-aware MMKV initialization (per-project id), JSON-encoded set/get with legacy string migration, remove/clear/getAllKeys utilities, and resilient error logging via ClixLogger.
Expand Down