Как реализовать глубокие ссылки в iOS - PullRequest
0 голосов
/ 09 мая 2018

У меня проблема с реализацией глубоких ссылок в моем приложении. Я использую уведомление под названием Accegage, которое можно увидеть здесь . Запустив SDK с параметром conf, заданным в файле AccengageConfig.plist в моем коде, как указано в документации, т.е. я делаю Accengage.start() в методе didFinishLaunchingWithOptions в AppDelegate, я заметил, что функция, открывающая URL-адрес, никогда не вызывается. Но он напечатает полезную нагрузку в моих журналах, но я не могу получить к ней доступ, чтобы использовать ее в своем коде. Все отлично работает, если я это прокомментирую. Пожалуйста, попросите кого-нибудь использовать это прежде, чтобы попытаться понять, где я ошибаюсь. Когда я открываю ссылку в Safari, она запускает приложение, но не печатает URL-адрес, как я просил, и не открывает соответствующие представления. Я учил, что моя проблема была с реализацией глубоких ссылок, но это не тот случай, это скорее Accengage, что я не использую его должным образом и буду рад, если кто-то может иметь подход к тому, как получить URL, когда push отправлено с Accengage. Спасибо!

func application(_ application: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
    print("url \(url)")
    print("url host :\(url.host as String?)")
    print("url path :\(url.path as String?)")


    let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)


    if(url.host == "/details"){

        let Ads_details: CollectionDetailViewController = mainStoryboard.instantiateViewController(withIdentifier: "CollectionDetailViewController") as! CollectionDetailViewController
        self.window?.rootViewController = Ads_details
    } else if (url.host == "/profile"){
        let User_profil: UserProfileViewController = mainStoryboard.instantiateViewController(withIdentifier: "UserProfileViewController") as! UserProfileViewController
        self.window?.rootViewController = User_profil
    }
    self.window?.makeKeyAndVisible()
    return true
}
...