AppsFlyerFramework icon indicating copy to clipboard operation
AppsFlyerFramework copied to clipboard

DeepLinkDelegate not working properly

Open ko7tya opened this issue 3 years ago • 7 comments

Report

DeepLinkDelegate doesn't return any information after user open app via deeplink

SDK Version

6.1.4

What did you do?

Install via Swift Package Manager

What did you expect to happen?

didResolveDeepLink should return information regarding from OneLink deeplink, after the user tap on it and the app opens

What happened instead?

After app opens from deeplink, system event: func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) { AppsFlyerLib.shared().continue(userActivity, restorationHandler: nil) } is called and we pass data to AppsFlyerLib with regarding method, but we didn't receive any information from AppsFlyerLib after that

Please provide any other relevant information.

There are 3 cases that we tested regarding OneLink deepLinks:

  1. User doesn't have installed app:
  • User taps on deeplink:
  • It sends the user to AppStore
  • User download the app and open it
  • All information regarding deeplink is coming from func onConversionDataSuccess(_ conversionInfo: [AnyHashable: Any]), so flow is working correctly
  1. User open app and after it taps on deeplink :
  • User taps on deeplink:
  • System opens app
  • func didResolveDeepLink(_ result: DeepLinkResult) returns correct data
  1. User has installed the app, but the app is suspended by the system:
  • User taps on deeplink:
  • System opens app
  • func didResolveDeepLink(_ result: DeepLinkResult) doesn't send any events

ko7tya avatar Feb 02 '21 10:02 ko7tya

Are you sure that you have still allocated delegate object? @property(weak, nonatomic) id<AppsFlyerDeepLinkDelegate> deepLinkDelegate; SDK does not retain your object. Maybe it released by your app?

andr-ggn avatar Feb 04 '21 12:02 andr-ggn

@andr-ggn I checked, and delegate object not released

ko7tya avatar Feb 04 '21 14:02 ko7tya

Hi, I believe I am also facing this issue. My app is a React Native app, so was using the AppsFlyer RN SDK, but also tried it with this SDK directly and could not resolve the OneLink. I have provided more detail here https://github.com/AppsFlyerSDK/appsflyer-react-native-plugin/issues/223

tomoakley avatar Mar 31 '21 11:03 tomoakley

@tomoakley The issue in RN SDK is fixed from version 6.2.10

amit-kremer93 avatar Jun 06 '21 08:06 amit-kremer93

We're also facing the same issue using IOS SDK. didResolveDeepLink(_ result: DeepLinkResult) not being triggered if the app is suspended by the system.

We would highly appreciate if the issue is fixed as soon as possible

EmmaVvv avatar Jun 30 '21 09:06 EmmaVvv

I'm also hitting this issue. didResolveDeepLink is called, but only when the Xcode configuration is Debug. When the configuration is Release, didResolveDeepLink is never called.

Edit: this turned out to be due to accidentally registering with the AppsFlyer SDK in both React Native and in Swift code (we have a hybrid app). I guess there was a race condition which ended up always going one way for Debug and the other way for Release. Removing registration from React Native and just doing it in Swift resolved the issue.

pepasibble avatar Oct 26 '21 20:10 pepasibble

Is there any update? I'm using 6.7.0 now and still facing this issue. It only works when I paste universal links into the Chrome search bar.

dungntm58 avatar Jun 28 '22 10:06 dungntm58