# Hackle React Native SDK

[![npm version](https://img.shields.io/npm/v/@hackler/react-native-sdk.svg)](https://www.npmjs.com/package/@hackler/react-native-sdk)
[![docs](https://img.shields.io/badge/docs-online-blue.svg)](https://docs.hackle.io/development-guide/react-native/react-native-quickstart)
[![changelog](https://img.shields.io/badge/changelog-online-blue.svg)](https://hackle-io.github.io/hackle-react-native-sdk/documents/CHANGELOG.html)
[![license](https://img.shields.io/npm/l/@hackler/react-native-sdk.svg)](https://github.com/hackle-io/hackle-react-native-sdk/blob/master/LICENSE)

React Native SDK for Hackle A/B Tests, Feature Flags, Remote Configs, and Analytics.

## Features

- **A/B Testing**: Experiment-based variation decision with declarative components
- **Feature Flags**: Enable or disable features with `HackleFeature` and `useFeature`
- **Remote Config**: Fetch and apply remote configuration values
- **Event Tracking**: Track user behavior and conversion events
- **User Management**: Set user attributes and subscription preferences
- **In-App Messages**: Receive and handle in-app message events via listener
- **Push Notifications**: Send push notifications to users based on their attributes and segments

## Requirements

- `react` >= 17.0.1
- `react-native` >= 0.64.1
- `iOS` >= 13.0
- `Android` >= 7.0 (API level 24)

## Installation

```sh
npm install @hackler/react-native-sdk
# or, using yarn:
# yarn add @hackler/react-native-sdk
```

### iOS

```sh
cd ios
pod install
```
