npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@loyalytics/swan-react-native-sdk

v2.10.0

Published

React Native SDK for Swan

Readme

Swan React Native SDK

⚠️ PROPRIETARY SOFTWARE: This SDK is proprietary software owned by Loyalytics. It requires a valid commercial license for use. See LICENSE for terms.

Installation

Note: This package is available via npm for authorized customers only. Installation requires a valid commercial license agreement with Loyalytics.

npm install @loyalytics/swan-react-native-sdk

Or using yarn:

yarn add @loyalytics/swan-react-native-sdk

Requirements

  • React Native 0.74 or higher, iOS 13.4+, Android API 23+ (the minimums of React Native 0.74). (The Android module needs React Native 0.74 or later; it does not build on 0.70–0.73.)
  • Android: your app's compileSdkVersion must be 34 or higher (the SDK's AndroidX dependencies, including WorkManager 2.9.1, require it). The React Native 0.74 and later templates already use 34; if your app sets a lower value, raise it in android/build.gradle (ext { compileSdkVersion = 34 }). minSdkVersion must be 23 or higher, as React Native 0.74 requires; targetSdkVersion is unaffected.

Usage

import SwanSDK from '@loyalytics/swan-react-native-sdk';

// Initialize SDK
const sdk = SwanSDK.getInstance('YOUR_APP_ID', {
  isProduction: false,
  pushNotifications: {
    enabled: true,
    autoRequestPermission: true,
  },
  isProduction: true,
});

// Track events
sdk.productViewed({ productId: '123' });

// Listen for SDK events
sdk.on('initialized', () => {
  console.log('SDK initialized!');
});

iOS Notification Extension

To support Rich Media (Images) and Delivery Tracking (even when the app is killed), you must set up a Notification Service Extension.

We provide an automated tool and a guide to help you set this up.

node ./node_modules/@loyalytics/swan-react-native-sdk/scripts/setup-ios-extension.js

Upgrading the SDK

The extension files are copied into your ios/ folder, so upgrading the npm package does not update them. Updating them is optional: your current extensions keep working, and deliveries and carousel card taps are still reported as before. Updating adds right-to-left carousel layout. To update, refresh them from your project root and rebuild the app:

node ./node_modules/@loyalytics/swan-react-native-sdk/scripts/setup-ios-extension.js --update

--update replaces only the extensions' Swift sources; your Info.plist, entitlements (App Group) and storyboard are kept. From 2.10.0 the SDK warns in the console (STALE iOS EXTENSION) when an extension copied from a different SDK version handles a push or a carousel tap. Extensions copied from an older SDK keep reporting deliveries and card taps as before; they keep the left-to-right layout for right-to-left carousels.

Do not rely on install output: npm and yarn usually hide a dependency's postinstall output and pnpm skips it. After each upgrade run

node ./node_modules/@loyalytics/swan-react-native-sdk/scripts/setup-ios-extension.js --check

It lists out-of-date extensions and exits non-zero — use it in CI or an Xcode build phase.

License

This software is proprietary and confidential. Unauthorized copying, modification, distribution, or use of this software is strictly prohibited.

Copyright © 2025 Loyalytics. All Rights Reserved.

For licensing inquiries, contact: [email protected]

See the LICENSE file for full terms.


Made with create-react-native-library