# @youssefhenna/expo-enode-link-sdk

> An Expo Module integration for Enode's Link SDK

Latest version **1.0.4** (published 2026-02-16) · MIT license · 0 weekly downloads

## Install

```sh
npm install @youssefhenna/expo-enode-link-sdk
pnpm add @youssefhenna/expo-enode-link-sdk
yarn add @youssefhenna/expo-enode-link-sdk
bun add @youssefhenna/expo-enode-link-sdk
```

## Health

**Score 55/100 (C)** — status: stable.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

## Facts

| | |
|---|---|
| Version | 1.0.4 |
| Published | 2026-02-16 |
| First published | 2023-12-24 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 2.8 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 9 |
| Author | Youssef Henna |
| Maintainers | youssefhenna |
| Keywords | react-native, expo, expo-enode-link-sdk, ExpoEnodeLinkSDK |

## Links

- npm: https://www.npmjs.com/package/@youssefhenna/expo-enode-link-sdk
- Repository: https://github.com/YoussefHenna/expo-enode-link-sdk
- Homepage: https://github.com/YoussefHenna/expo-enode-link-sdk#readme
- Issues: https://github.com/YoussefHenna/expo-enode-link-sdk/issues
- npm.io page: https://npm.io/package/@youssefhenna/expo-enode-link-sdk

## Recent versions

- 1.0.4 (latest) — 2026-02-16
- 1.0.3 — 2025-11-12
- 1.0.2 — 2024-09-23
- 1.0.1 — 2024-07-15
- 1.0.0 — 2024-05-06
- 0.4.3 — 2024-02-28
- 0.4.2 — 2024-02-20
- 0.4.1 — 2024-02-12
- 0.4.0 — 2024-02-06
- 0.3.5 — 2024-01-28
- 0.3.4 — 2024-01-25
- 0.3.3 — 2024-01-24
- 0.3.2 — 2024-01-24
- 0.3.1 — 2024-01-22
- 0.3.0 — 2024-01-18
- … 2 more at https://npm.io/package/@youssefhenna/expo-enode-link-sdk/versions

## README

# expo-enode-link-sdk

An Expo Module integration for Enode's Link SDK

## Android

The Enode SDK requires Android SDK version 34+ and the minimum SDK 24+. It is required to add this to your app's `app.json` under `plugins`.

```json
"plugins": [
  [
    "expo-build-properties",
    {
      "android": {
        "minSdkVersion": 24,
        "compileSdkVersion": 34,
        "targetSdkVersion": 34,
        "buildToolsVersion": "34.0.0"
      }
    }
  ],
  // your other plugins, if any
]
```

If not already installed, you'll also need to install `expo-build-properties`

```
npx expo install expo-build-properties
```

### App theme

Enode's link sdk uses the MaterialComponents android app theme, `expo-enode-link-sdk` provides an expo plugin for setting the android app theme. Add the following to your `app.json`

```json
"plugins": [
    [
        "@youssefhenna/expo-enode-link-sdk", "Theme.MaterialComponents.DayNight.NoActionBar"
    ]
]
```

## IOS

The enode SDK uses bluetooth and therefore you need to add this in your app's `app.json` under `ios`.

```json
"ios": {
  "infoPlist": {
    "NSBluetoothAlwaysUsageDescription": "Our app requires Bluetooth to connect with energy devices, enabling efficient device management and enhanced user experience."
  },
  // your other ios configuration, if any
}
```

Additionally the Enode SDK requires iOS deployment target 14+. It is required to add this to your app's `app.json` under `plugins`.

```json
"plugins": [
  [
    "expo-build-properties",
    {
      "ios": {
        "deploymentTarget": "14.0"
      }
    }
  ],
  // your other plugins, if any
]
```

This is the same plugin used in the Android config and not a seperate one. The final config of this plugin should look something like this:

```json
"plugins": [
      [
        "expo-build-properties",
        {
          "android": {
            "minSdkVersion": 24,
            "compileSdkVersion": 34,
            "targetSdkVersion": 34,
            "buildToolsVersion": "34.0.0"
          },
          "ios": {
            "deploymentTarget": "14.0"
          }
        }
      ]
    ]
```

## Usage

Install the package

```
npx expo install @youssefhenna/expo-enode-link-sdk
```

Import the package

```ts
import * as ExpoEnodeLinkSDK from "@youssefhenna/expo-enode-link-sdk";
```

Listen to the result events by:

```tsx
React.useEffect(() => {
  const resultListener = ExpoEnodeLinkSDK.listenToResult(
    (code, errorMessage) => {
      // Add your code here to handle the result
    },
  );
  return () => resultListener.remove();
}, []);
```

Launch/Show the Enode Link UI

```ts
ExpoEnodeLinkSDK.show("<YOUR_TOKEN_HERE>");
```

---
_Source: https://npm.io/package/@youssefhenna/expo-enode-link-sdk · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
