@smartlink-sdk/react-native
v1.1.1
Published
SmartLink SDK for React Native — deep linking, deferred deep links, and engagement tracking
Readme
@smartlink-sdk/react-native
SmartLink SDK for React Native — deep linking, deferred deep links, and engagement tracking.
Features
- Create shareable Smart Links with custom actions and metadata
- Resolve deep links on cold start and warm/background opens
- Deferred deep links via Android install referrer
- Event tracking with batched, idempotent ingestion
- Automatic persistence of pending intents and event buffer
- Integration diagnostics
Installation
npm install @smartlink-sdk/react-nativePeer Dependencies
react>= 18.0.0react-native>= 0.72.0@react-native-async-storage/async-storage^1.19.0 || ^2.0.0 (optional, enables persistence)react-native-install-referrer^1.0.0 (optional, enables Android deferred links)
Quick Start
import { SmartLink } from '@smartlink-sdk/react-native';
// Initialize once at app startup
SmartLink.initialize({
apiKey: 'YOUR_API_KEY_HERE',
baseUrl: 'https://sl.ahatools.work',
});
// Create a share link
const link = await SmartLink.createShareLink({
action: 'open_article',
contentId: 'article-42',
title: 'Check out this article',
});
console.log(link.url); // https://sl.ahatools.work/aB3cD4
// Handle incoming deep link (cold start)
const intent = await SmartLink.getInitialIntent();
if (intent) {
// Navigate to content
navigation.navigate(intent.action, { id: intent.contentId });
await SmartLink.consumeIntent(intent.slug);
}
// Check for deferred deep link (post-install)
const pending = await SmartLink.getPendingIntent();
if (pending) {
navigation.navigate(pending.action, { id: pending.contentId });
await SmartLink.consumeIntent(pending.slug);
}
// Persist/restore events across app lifecycle
await SmartLink.persistEvents(); // call on app background
await SmartLink.restoreEvents(); // call on app foreground
// Diagnostics
const report = await SmartLink.validateIntegration();
console.log(report); // { initialized: true, configValid: true, apiReachable: true }Platform Setup
- Android: Configure App Links in AndroidManifest.xml and register SHA-256 fingerprints
- iOS: Configure Associated Domains and Apple App Site Association
See the full setup guides in the SmartLink SDK repository.
API Reference
| Method | Description |
| ---------------------------------------- | ------------------------------------------------ |
| SmartLink.initialize(config, options?) | Initialize the SDK |
| SmartLink.createShareLink(params) | Create a shareable link |
| SmartLink.getInitialIntent() | Get intent from cold/warm deep link |
| SmartLink.getPendingIntent() | Get deferred intent (install referrer or stored) |
| SmartLink.consumeIntent(slug) | Mark intent as handled + report event |
| SmartLink.persistEvents() | Save event buffer to storage |
| SmartLink.restoreEvents() | Restore saved events into buffer |
| SmartLink.validateIntegration() | Run integration diagnostics |
License
MIT
