Skip to content

Deferred deeplink not working in appstore version of the app #186

@NikAshanin

Description

@NikAshanin

Hello!

I have a production app in appstore (iOS). Actually, I integrated deferred deeplink into it for transfering user_id parameter from the link after installation via appstore. So, after pressing the link appstore opens and I can install the app, but when I open the app there is no deferred deep link callback and I cant receive user id from the initial link.

The initial link itself is like https://MYDOMAIN.go.link?adj_t=ADJUST_TOKEN&adj_deep_link_id=AUTOGENERATED_DEEP_LINK_ID&user_id=USER_ID

The code itself looks like:

final adjustConfig = AdjustConfig('ADJUST_TOKEN_FROM_CONSOLE', AdjustEnvironment.production)..logLevel = AdjustLogLevel.verbose;
final deviceID = await getDeviceId();
if (deviceID != null) {
  adjustConfig.externalDeviceId = deviceID;
}
adjustConfig
  ..isCostDataInAttributionEnabled = true
  ..isSendingInBackgroundEnabled = true
  ..isLinkMeEnabled = true
  ..isIdfvReadingEnabled = true
  ..isSkanAttributionEnabled = true
  ..isDeferredDeeplinkOpeningEnabled = false
  ..deferredDeeplinkCallback = (deeplink) {
    debugPrint('✅ Adjust: Callback deferredDeeplinkCallback called: $deeplink');
    if (deeplink != null && deeplink.isNotEmpty) {
      unawaited(SOME LOGS HERE);
    }
    try {
      unawaited(_handleAdjustDeferredDeeplink(deeplink));
    } catch (e, stackTrace) {
      log('❌ Adjust: Error in deferredDeeplinkCallback: $e');
      log('Stack trace: $stackTrace');
    }
  }
  ..attributionCallback = (attribution) {
    try {
      _handleAdjustAttribution(attribution);
    } catch (e, stackTrace) {
      log('❌ Adjust: Error in attributionCallback: $e');
      log('Stack trace: $stackTrace');
    }
  };

try {
  Adjust.initSdk(adjustConfig);
  log('✅ Adjust SDK initialized successfully');
} catch (initError, initStackTrace) {
  log('❌ Adjust: Error in initSdk: $initError');
  log('Stack trace: $initStackTrace');
  return;
}

The code above written in main.dart before runapp function.

We have probablistic method enabled in adjust console as well. And also, common deeplink if app installed already works fine, but not the deferred one. All other functions from Adjust works fine as well.

Adjust Flutter SDK version: adjust_sdk 5.4.4

So, deferredDeeplinkCallback is not working on a production app. It is not called at all. Could you please kindly help with that issue?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions