Skip to Content
Client SDKOverview

Client SDK

The Norrix Client SDK (@norrix/client-sdk) enables over-the-air (OTA) updates in your NativeScript applications.

Features

  • Automatic Updates: Check for and install updates on app launch
  • Manual Control: Full programmatic control over update flow
  • Fingerprint Checking: Automatic native compatibility verification
  • Launch Safety: An update that fails to launch is quarantined and the app relaunches into the last known-good bundle
  • Progress Callbacks: Real-time download progress
  • Status Callbacks: Detailed sync status updates
  • Offline Resilient: Graceful handling of network issues

Quick Start

1. Install

npm install @norrix/client-sdk

2. Initialize

Import at the top of app.ts or main.ts and initialize synchronously during bootstrap:

import { initNorrix } from '@norrix/client-sdk'; initNorrix({ updateUrl: 'https://norrix.net', checkForUpdatesOnLaunch: true, installUpdatesAutomatically: true, });

The import arms the launch monitor, so keep it at the top of the entry file. See When to Initialize.

3. Build and Deploy

Create your store build with fingerprinting:

norrix build ios release

4. Publish Updates

Push JavaScript updates instantly:

norrix update ios 1.0.1

How It Works

  1. Build Time: Norrix computes a fingerprint of your native dependencies
  2. Store Release: Your app is published with the bundled fingerprint
  3. Update Check: On launch, the SDK checks for compatible updates
  4. Download: If compatible, the update bundle is downloaded
  5. Install: The bundle is unpacked into a temporary directory and renamed into place once complete
  6. Apply: On next app restart, the update is active
  7. Confirm: The first content it displays marks the launch successful. An update that fails before that is quarantined and the app relaunches into the last known-good bundle

What Can Be Updated

✅ Can Update❌ Requires Store Build
JavaScript/TypeScript codeNativeScript platform versions
CSS/SCSS stylesNative plugin version changes
Assets (images, fonts)App_Resources contents
Non-native npm packagesCustom native code

Next Steps