init method
Implementation
Future<void> init() async {
final devKey = PurpiRuntime.config.appsFlyerDevKey;
if (devKey == null || devKey.isEmpty) {
debugPrint("AppsFlyer devKey absent → SDK non initialisé");
return;
}
final options = AppsFlyerOptions(
afDevKey: devKey,
appId: PurpiRuntime.config.appsFlyerAppId ?? "",
showDebug: kDebugMode,
);
_sdk = AppsflyerSdk(options);
await _sdk.initSdk(
registerConversionDataCallback: true,
registerOnAppOpenAttributionCallback: true,
registerOnDeepLinkingCallback: true,
);
_sdk.onDeepLinking((DeepLinkResult result) {
debugPrint("📦 AppsFlyer DeepLink status: ${result.status}");
if (result.status == DeepLinkStatus.found) {
final deepLink = result.deepLink;
debugPrint("✅ DeepLink data: ${deepLink?.toString()}");
debugPrint("➡️ deep_link_value: ${deepLink?.deepLinkValue}");
debugPrint("➡️ media_source: ${deepLink?.mediaSource}");
debugPrint("➡️ campaign: ${deepLink?.campaign}");
/// EXEMPLE DE ROUTING
if (deepLink?.deepLinkValue == "promo") {
debugPrint("🚀 Naviguer vers page PROMO");
}
} else {
debugPrint("❌ No DeepLink found");
}
});
_isReady = true;
debugPrint("✅ AppsFlyer READY");
}