iOS-如何使用自定义参数firebase获取动态短链接

时间:2017-11-06 13:33:26

标签: ios swift xcode firebase firebase-dynamic-links

我希望通过动态链接发送参数,也可以接收相同的参数。

我通过简短的动态链接传递了自定义参数。这是我的链接:https://pc988.app.goo.gl/vQaV?test=1

我正在使用以下代码来接收动态链接:

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {

    if let dynamicLink = DynamicLinks.dynamicLinks()?.dynamicLink(fromCustomSchemeURL: url){
        self.handleIncomingDynamicLink(dynamicLink: dynamicLink)

        return true

    }
    else{
        let handled = FBSDKApplicationDelegate.sharedInstance().application(app, open: url, options: options)

        return handled
    }
}

@available(iOS 8.0, *)
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {
    if let incomingURL = userActivity.webpageURL{
        let linkHandled = DynamicLinks.dynamicLinks()!.handleUniversalLink(incomingURL, completion:{ [weak self] (dynamiclink, error) in
            guard let strongSelf = self else{ return }
            if let dynamiclink = dynamiclink, let _ = dynamiclink.url {
                strongSelf.handleIncomingDynamicLink(dynamicLink: dynamiclink)
            }
        })
        return linkHandled
    }
    return false
}

func handleIncomingDynamicLink(dynamicLink: DynamicLink) {

    if dynamicLink.matchConfidence == .weak{
    }else {
        guard let pathComponents = dynamicLink.url?.pathComponents else { return }
        for nextPiece in pathComponents{

        }
    }
    print("incoming link \(dynamicLink.url)")
}

我的确切问题是,我无法获得我在上面提到的动态短链接中传递的'test'参数。

帮我摆脱这个问题。

1 个答案:

答案 0 :(得分:2)

要附加自定义参数,您需要将参数附加到深层链接,而不是动态链接。

在您的示例中,深层链接为https://www.fitview.com/(您可以在调试页面https://pc988.app.goo.gl/vQaV?d=1中看到此内容)。

要实现目标,请将深层链接设置为https://www.fitview.com?test=1,创建动态链接,然后缩短动态链接。