flutter_turbolink_attribution 1.0.10 flutter_turbolink_attribution: ^1.0.10 copied to clipboard
TurboLink's official Flutter SDK for App Attribution & Campaign.
import 'package:flutter/material.dart';
import 'package:flutter_turbolink_attribution/flutter_turbolink_attribution.dart';
import 'package:flutter_turbolink_attribution/turbolink_custom_properties.dart';
import 'package:flutter_turbolink_attribution_example/login.dart';
final navigatorKey = GlobalKey<NavigatorState>();
void main() {
print("main");
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
String _platformVersion = 'Unknown';
@override
void initState() {
print("initState");
super.initState();
initTurbolinkSDK();
}
void initTurbolinkSDK() async {
TurbolinkSdk.enableLogger();
TurbolinkSdk.setAppUser("jeff", "");
TurbolinkSdk.setLang('jp');
TurbolinkSdk.withCampaignCreateCallback((result) {
print("TurboLinkSDK, withCampaignCreateCallback:" + result);
});
TurbolinkSdk.withCampaignDestroyCallback((result) {
print("TurboLinkSDK, withCampaignDestroyCallback:" + result);
});
TurbolinkSdk.withLoginListenerCallback(() {
print("TurboLinkSDK, withLoginListenerCallback:");
// navigatorKey.currentState?.push(MaterialPageRoute(builder: (context) => LoginWidget()));
});
TurbolinkSdk.withRegListenerCallback(() {
print("TurboLinkSDK, withRegListenerCallback");
navigatorKey.currentState?.push(MaterialPageRoute(builder: (context) => LoginWidget()));
});
TurbolinkSdk.withEventListenerCallback((args) {
print("TurboLinkSDK, withEventListenerCallback:${args.arguments}:${args.scheme}:${args.campaignUrl}:${args.additionalParam}");
TurbolinkSdk.closeCampaignPage();
});
// TurbolinkSdk.withEventCallback((args) {
// print(args.deviceStatus);
// });
TurbolinkSdk.withEventCallback((args) {
print("TurboLinkSDK, withEventCallback:${args.linkHashId}:${args.blackBox}:${args.deviceStatus}:linkData:${args.linkData}:${args.campaignData}:${args.fromUserData['userId']}:${args.fromUserData['inviteCode']}");
});
TurbolinkSdk.withPointListenerCallback((args) {
print("TurboLinkSDK, withPointListenerCallback: ${args.campaignTitle}:${args.campaignLang}:${args.campaignUrl}:${args.user}:${args.position}");
});
TurbolinkSdk.withShareListenerCallback((args) {
print("TurboLinkSDK, withShareListenerCallback: ${args.sharingText}: ${args.shareText}: ${args.shareLink} :${args.noInstallPrompt}: ${args.targetScheme}: ${args.campaignId}");
});
TurbolinkSdk.withRedirectListenerCallback((args) {
TurbolinkSdk.closeCampaignPage();
print("TurboLinkSDK, withRedirectListenerCallback: ${args.campaignId}_${args.campaignTitle}_${args.campaignLang}_${args.campaignUrl}_${args.user}_${args.type}_${args.appUrl}_${args.rewardTitle}_${args.kvData.values}");
});
bool isInclude = TurbolinkSdk.isUrlBelongTurboLink("https://jeffapp.c.allapp.link/c?l=crcivhogpf6n4nh6eco0&c=JZ");
print("TurboLinkSDK, ${isInclude}");
// TurbolinkSdk.setAppUser("ben", "v1");
TurbolinkSdk.setScreenOrientationAll();
// TurbolinkSdk.setLaunchCampaignDelay(-1);
TurbolinkSdk.setNightMode(true);
TurbolinkSdk.setInitTitle("加入中");
TurbolinkSdk.setTitleSize(16);
TurbolinkSdk.setIdSimpleMode();
TurbolinkSdk.setSimpleParameterMode();
// TurbolinkSdk.setAppUserInfo("jeff", "", "", ["ok", "jeff"], "3982");
TurbolinkSdk.setAppUser("jeff123", "ok");
// TurbolinkSdk.loadUrl("");
// TurbolinkSdk.withEventCallback((args) {
// print("TurboLinkSDK, withEventCallback:${args.linkHashId}:${args.blackBox}:${args.deviceStatus}:${args.linkData}:${args.campaignData}:${args.fromUserData['userId']}:${args.fromUserData['inviteCode']}");
// });
TurbolinkSdk.autoInstance('coae59progtocgji0vug', '6fbbbbe1f68712212c895522d66c241e', '6f3c7c7c24d2ba6f0d53256968e56ea4b7b4bee8');
// TurbolinkSdk.setNightMode(true);
}
@override
Widget build(BuildContext context) {
return MaterialApp(
navigatorKey: navigatorKey,
debugShowCheckedModeBanner: false,
// home: MainWidget(_platformVersion),
home: Builder(
builder: (context) => Scaffold(
appBar: AppBar(
title: const Text('Plugin example app'),
),
body: Column(
children: [
Container(
child: Text('Running on: $_platformVersion\n'),
),
Container(
child: TextButton(
onPressed: (){
print("onPressed");
TurbolinkSdk.loadUrl("https://jeffapp.c.allapp.link/c?l=crco5m9rogti7sj5hpig&c=ZM");
// Navigator.push(context,MaterialPageRoute(builder: (context) => LoginWidget()));
},
child: Text("活动"),
),
),
TextButton(
onPressed: () {
Navigator.push(context,MaterialPageRoute(builder: (context) => LoginWidget()));
},
child: Text("Login Widget"),
),
TextButton(
onPressed: () {
TurbolinkSdk.logout();
},
child: Text("Logout"),
),
TextButton(
onPressed: () {
TurboLinkCustomProperties customData = TurboLinkCustomProperties()
.addKeyValue("name", "ben")
.addKeyValue("age", "22");
TurbolinkSdk.customEvent("pay", customData);
},
child: Text("自定义事件"),
),
TextButton(
onPressed: () {
TurbolinkSdk.register("jeff", "jeff register", "https://www.turbolink.ai", ["ben", "jeff"], "33399");
},
child: Text("register"),
),
TextButton(
onPressed: () {
TurbolinkSdk.codeSearch("143.42¥8QJXKXOTv2¥");
},
child: Text("codeSearch"),
),
TextButton(
onPressed: () {
TurbolinkSdk.loadDelayRedirectUrl();
},
child: Text("打开延迟活动"),
),
],
)
),
)
);
}
}