@pt-nakul-sharma/linkio-react-native
v1.0.1
Published
React Native bridge for LinkIO deep linking SDK
Maintainers
Readme
@pt-nakul-sharma/linkio-react-native
React Native bridge for LinkIO deep linking SDK. Self-hosted alternative to Branch.io.
✨ Features
- 🔗 Deep Linking - Universal Links (iOS) and App Links (Android)
- 🎯 Deferred Deep Linking - Attribution for users who install after clicking
- 📊 Referral Tracking - Track conversions with custom metadata
- 🛠 TypeScript - Full type definitions included
- 🔒 Privacy-Focused - Self-hosted, you own your data
- ⚡ Lightweight - Minimal dependencies
- 📱 Native Performance - Built with Swift (iOS) and Kotlin (Android)
� Table of Contents
- Installation
- Quick Start
- API Reference
- Deep Link Handling
- Requirements
- Example App
- Documentation
- Related Packages
- Contributing
- License
� Installation
npm install @pt-nakul-sharma/linkio-react-native
# or
yarn add @pt-nakul-sharma/linkio-react-nativeiOS Setup
cd ios && pod installAdd associated domains in Xcode:
- Target → Signing & Capabilities → Add "Associated Domains"
- Add:
applinks:yourdomain.com
Android Setup
No additional setup required. The package will automatically link.
📱 Quick Start
import LinkIO, { DeepLinkData } from '@pt-nakul-sharma/linkio-react-native';
import { useEffect } from 'react';
function App() {
useEffect(() => {
// Configure LinkIO
LinkIO.configure({
domain: 'yourdomain.com',
backendURL: 'https://yourdomain.com',
autoCheckPendingLinks: true
});
// Set deep link listener
LinkIO.setDeepLinkListener((deepLink) => {
console.log('Deep link received:', deepLink);
if (deepLink.params.referralCode) {
// Auto-fill referral code
navigation.navigate('Signup', {
referralCode: deepLink.params.referralCode
});
}
});
return () => {
LinkIO.cleanup();
};
}, []);
return <YourApp />;
}📚 API Reference
configure(config)
Initialize LinkIO with configuration.
LinkIO.configure({
domain: "yourdomain.com",
backendURL: "https://yourdomain.com",
autoCheckPendingLinks: true, // Optional, default: true
});setDeepLinkListener(callback)
Listen for deep links.
LinkIO.setDeepLinkListener((deepLink) => {
console.log("URL:", deepLink.url);
console.log("Params:", deepLink.params);
console.log("Is Deferred:", deepLink.isDeferred);
});trackReferral(referralCode, userId, metadata?)
Track a referral.
await LinkIO.trackReferral(
"ABC123",
"user123",
{ source: "react-native" }, // Optional metadata
);checkPendingLink()
Manually check for pending/deferred deep links.
await LinkIO.checkPendingLink();cleanup()
Clean up listeners (call in unmount).
LinkIO.cleanup();🔗 Deep Link Handling
iOS (AppDelegate.m)
#import <React/RCTLinkingManager.h>
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
return [RCTLinkingManager application:application openURL:url options:options];
}
- (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity
restorationHandler:(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler
{
return [RCTLinkingManager application:application
continueUserActivity:userActivity
restorationHandler:restorationHandler];
}Android (AndroidManifest.xml)
<activity android:name=".MainActivity">
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="https"
android:host="yourdomain.com" />
</intent-filter>
</activity>📱 Example App
A complete example app is included demonstrating all features:
cd example
npm install
# iOS
cd ios && pod install && cd ..
npm run ios
# Android
npm run androidSee example/EXAMPLE.md for detailed instructions.
📖 Documentation
- API Reference - Complete API documentation
- Example App - Usage examples and integration guide
- Publishing Guide - How to publish this package
- Contributing - Contribution guidelines
- Changelog - Version history
🔗 Related Packages
- Backend: LinkIO-Backend
- iOS Native: LinkIO-iOS
- Android Native: LinkIO-Android
🛠️ Requirements
- React Native >= 0.60
- iOS >= 13.0
- Android >= API 21
🤝 Contributing
Contributions are welcome! Please read our Contributing Guide for details.
Development Setup
# Clone repository
git clone https://github.com/pt-nakul-sharma/LinkIO-React-Native.git
cd LinkIO-React-Native
# Install dependencies
npm install
# Run tests
npm test
# Build
npm run prepare💬 Support
📄 License
MIT
⭐ Show Your Support
Give a ⭐️ if this project helped you!
