Глубинные ссылки на appflayer не работают, когда приложение открывается по ссылке (метод делегата не вызывается)

У меня есть глубокая связь с AppFlayer SDK, и универсальная ссылка, открывающая приложение, успешно означает, что глубокие ссылки работают нормально.

Теперь проблема в том, что когда приложение открывается по ссылке, оно не будет перенаправлено на свою страницу. Но если я поставлю приложение в фоновом режиме и возьму на передний план, то глубокие ссылки работают

Я следую этому руководству.( Ссылка)

Код установки AppFlayer

func application(_ application: UIApplication, willFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool {
        AppsFlyerTracker.shared().appsFlyerDevKey = "xxxxxxxxxxxx"
        AppsFlyerTracker.shared().appleAppID = "xxxxxxx"
        AppsFlyerTracker.shared().isDebug = false
        AppsFlyerTracker.shared().delegate = self

        self.pushNotificationService(application)

        objStoryBoard = UIStoryboard(name:"Main", bundle: nil)

        return true
    }

Делегат AppFlayer

Edit:: Этот метод не вызывается, когда приложение открыто по ссылке из appsflayer marketing

//MARK:
        //MARK: appflayer delegate
        func onAppOpenAttribution(_ installData: [AnyHashable: Any]) {

        NSLog("installData ::%@", installData )

        if let link = installData["link"] as? String
        {
            if link.contains(read_Localizable("titleAppflayer"))
            {
                if let arrQueryItems = URLComponents(string: link)!.queryItems {

                    for obj in arrQueryItems {
                        if obj.name.caseInsensitiveCompare(read_Localizable("appflayerParameter")) == .orderedSame
                        {
                            self.redirectAppflayer(withstrUrl: obj.value!)
                            return
                        }
                    }
                }
            }
        }
    }

метод активности пользователя

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {

//        if let url = userActivity.webpageURL
//        {
//            NSLog("URL :: %@",[url])
//        }

        if userActivity.webpageURL?.absoluteString.contains(read_Localizable("titleAppflayer")) == true
        {
            AppsFlyerTracker.shared().continue(userActivity, restorationHandler: restorationHandler)
            return true
        }

        return Branch.getInstance().continue(userActivity)
    }

Дайте мне знать, что я делаю неправильно.

1 ответ

Вы звоните в AppsFlyerTracker из willFinishLaunchingWithOptions когда это должно быть вызвано из didFinishLaunchingWithOptions, Не могли бы вы переместить соответствующий код и протестировать снова?

Добавить

[[AppsFlyerTracker sharedTracker] trackAppLaunch];

Метод onConversionDataSuccess начнет получать вызов.

Другие вопросы по тегам