• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 从链接打开应用程序时,appsflyer 深层链接不起作用(未调用委托(delegate)方法)

[复制链接]
菜鸟教程小白 发表于 2022-12-11 18:26:46 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我使用 AppFlayer SDK 进行了深度链接,并且通用链接成功打开了应用程序,这意味着深度链接工作正常。

现在的问题是 当应用程序从链接打开时,它不会重定向到它的页面。但是,如果我将应用程序放在后台并放在前台,那么深度链接就可以工作

我遵循此指南。( link )

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 委托(delegate)

Edit :: This method not called when application is open from link of 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)
    }

让我知道我做错了什么。



Best Answer-推荐答案


您正在从 willFinishLaunchingWithOptions 调用 AppsFlyerTracker,而应该从 didFinishLaunchingWithOptions 调用它。能不能把相关代码挪一下再测试一下?

关于ios - 从链接打开应用程序时,appsflyer 深层链接不起作用(未调用委托(delegate)方法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45523157/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap