English | 한국어
React Native SDK for the ViaLink deep link infrastructure service. Since v2.0 it runs through a native bridge (Android .aar + iOS .xcframework).
Built as a bridge over the native Android and iOS SDKs, so a single TypeScript codebase handles deep linking and deferred deep linking on both platforms. Users who install from a link land on the intended screen at first launch, and click, install, open, event, and payment flow through one attribution pipeline.
Unlike most deep link and attribution tools, which require a sales call and an annual contract, ViaLink is free to start. No credit card — all six platform SDKs are available the moment you sign up.
Links shared on KakaoTalk, Naver, LINE, Instagram, or Threads open in the app's built-in browser, where Universal Links and App Links often don't fire. ViaLink's link server detects the in-app browser and takes the route that works there:
- KakaoTalk · Naver · LINE (iOS) — hands the link off to Safari automatically, so the Universal Link fires
- Android in-app browsers — launches the app with an
intent://URL, falling back to the store if it isn't installed - Instagram · Facebook · Threads and others — tries your app's custom URL scheme (if registered) and shows an "Open in external browser" guide as a backup
This runs on the link server — no extra SDK code needed.
- Deep link routing — automatic handling of App Links / Universal Links
- Deferred deep linking — fingerprint-based matching on the first launch after install
- Event tracking — batched delivery of custom events
- Payment attribution — records payment attempts and automatically attaches
link_id - Link creation — generate deep links from within the app (static/dynamic)
- React Native 0.73+
- Android: minSdk 24, compileSdk 34
- iOS: 15.0+, Swift 5.9+
npm install vialink-react-native-sdkcd ios && pod installVerify the configuration in android/app/build.gradle:
android {
compileSdkVersion 34
defaultConfig {
minSdkVersion 24
}
}Register the package in MainApplication.kt (or .java):
import com.vialink.reactnative.ViaLinkPackage
override fun getPackages(): List<ReactPackage> {
val packages = PackageList(this).packages.toMutableList()
packages.add(ViaLinkPackage())
return packages
}import { ViaLinkSDK } from 'vialink-react-native-sdk';
// Call at the top level of App.tsx
await ViaLinkSDK.shared.configure('YOUR_API_KEY');// Receive App Links / Universal Links
ViaLinkSDK.shared.onDeepLink((data) => {
console.log('deep link:', data.path, data.params);
navigation.navigate(data.path, data.params);
});
// Deferred deep link (matched on first app launch, 5-second deadline)
ViaLinkSDK.shared.onDeferredDeepLink((data, error) => {
if (error) {
// match failed (timeout/network/server_error, etc.) — normal entry
console.log('match failed:', error.code, error.message);
return;
}
if (!data) {
// organic install — normal entry
return;
}
// match succeeded — navigate to the deep link path
navigation.navigate(data.path, data.params);
});// Synchronous (returns the cached value immediately)
const deepLink = await ViaLinkSDK.shared.getDeepLinkData();
const deferred = await ViaLinkSDK.shared.getDeferredLinkData();
// Asynchronous (waits until the result arrives)
const deepLinkAsync = await ViaLinkSDK.shared.awaitDeepLinkData(); // 3-second timeout
const deferredAsync = await ViaLinkSDK.shared.awaitDeferredLinkData(); // waits until the resultViaLinkSDK.shared.track('purchase', {
product_id: '12345',
revenue: 29900,
currency: 'KRW',
});const result = await ViaLinkSDK.shared.payment.initiated({
orderId: 'ORD-2026-0001',
amount: 19900,
currency: 'KRW',
paymentMethod: 'card',
});
console.log('success:', result.success, 'id:', result.paymentEventId);const url = await ViaLinkSDK.shared.createLink(
'/product/123',
{ promo_code: 'FRIEND_SHARE' },
'referral',
'dynamic', // when click tracking is needed
);
console.log('created link:', url);// On app shutdown or unmount
ViaLinkSDK.shared.destroy();See the runnable sample app in the sample/ directory.
Proprietary — © 2026 Aresjoy Inc. All rights reserved. Use is governed by the ViaLink Terms of Service. See LICENSE.
