vialink_flutter_plugin 3.2.15
vialink_flutter_plugin: ^3.2.15 copied to clipboard
ViaLink 딥링크 SDK for Flutter - 네이티브 SDK 기반 브릿지 플러그인
ViaLink Flutter SDK #
English | 한국어
ViaLink deep link SDK for Flutter — a bridge plugin built on the native SDKs (AAR/XCFramework).
Features #
- 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)
Installation #
dependencies:
vialink_flutter_plugin: ^3.2.15
Usage #
1. Initialization #
import 'package:vialink_flutter_plugin/vialink_flutter_plugin.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await ViaLinkSDK.instance.configure(apiKey: 'YOUR_API_KEY');
runApp(MyApp());
}
2. Deep link callbacks #
// Receive App Links / Universal Links
ViaLinkSDK.instance.onDeepLink((data) {
Navigator.pushNamed(context, data.path);
print('params: ${data.params}');
});
// Deferred deep link (matched after the first install)
ViaLinkSDK.instance.onDeferredDeepLink((data, error) {
if (error != null) {
print('deferred match failed: ${error.message}');
return;
}
if (data != null) {
print('deferred match succeeded: ${data.path}');
Navigator.pushNamed(context, data.path);
} else {
print('no match (organic install)');
}
});
3. Pull API #
// Synchronous (returns the cached value immediately)
final deepLink = ViaLinkSDK.instance.getDeepLinkData();
final deferred = ViaLinkSDK.instance.getDeferredLinkData();
// Asynchronous (waits until the result arrives)
final deepLinkAsync = await ViaLinkSDK.instance.awaitDeepLinkData(); // 3-second timeout
final deferredAsync = await ViaLinkSDK.instance.awaitDeferredLinkData(); // waits until the result
4. Event tracking #
ViaLinkSDK.instance.track('purchase', data: {
'product_id': '123',
'revenue': '29900',
'currency': 'KRW',
});
5. Payment tracking #
final result = await ViaLinkSDK.instance.trackPayment(
orderId: 'ORD-2026-0001',
amount: 19900,
currency: 'KRW',
paymentMethod: 'card',
);
print('success: ${result.success}, id: ${result.paymentEventId}');
6. Link creation #
final url = await ViaLinkSDK.instance.createLink(
path: '/product/123',
data: {'promo_code': 'FRIEND'},
campaign: 'referral',
linkType: 'dynamic', // when click tracking is needed
);
print('created link: $url');
Additional platform setup #
Android setup #
Set minSdkVersion 21 or higher in android/app/build.gradle.
iOS setup #
Configure Associated Domains in ios/Runner/Info.plist:
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:vialink.app</string>
</array>
Documentation #
License #
MIT License — Aresjoy Inc.