ios - 单击动态链接时深层链接不包含有效的必需参数

标签 ios swift firebase xcode10 firebase-dynamic-links

我已将动态链接设置为文档,但单击链接时它显示:

Deep Link does not contain valid required params. URL params: {
"_cpb" = 1;
"_cpt" = cpit;
"_fpb" = "CJsFEPcCGgVlbi1VUw==";
"_iumchkactval" = 1;
"_iumenbl" = 1;
"_osl" = "https://ttnfleetsolutions.page.link/azrN2YkJQncowdQ78";
"_plt" = 3698;
"_uit" = 1651;
apn = "com.ttnfleetsolutions.ttnfleet.debug";
cid = 4103105643708739955;
ibi = "com.ttnfleetsolutions.ttnfleetCustomer";
link = "https://www.ttnfleetsolutions.com/";

}

点击动态链接时应用程序打开,但它不调用任何函数并显示错误如何知道链接是否被点击?

我的 didfinishlunchingwithoption 方法:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool{
    IQKeyboardManager.shared.enable = true
    FirebaseApp.configure()       UIBarButtonItem.appearance().setTitleTextAttributes([NSAttributedString.Key.foregroundColor: UIColor.clear], for: .normal)
    UIBarButtonItem.appearance().setTitleTextAttributes([NSAttributedString.Key.foregroundColor: UIColor.clear], for: UIControl.State.highlighted)
    GMSServices.provideAPIKey(GOOGLE_API_KEY)
    GMSPlacesClient.provideAPIKey(GOOGLE_API_KEY)
return true

} 和文档中的函数:

@available(iOS 9.0, *)
func application(_ app: UIApplication, open url: URL, options: 
[UIApplication.OpenURLOptionsKey : Any]) -> Bool {
    return application(app, open: url,
                       sourceApplication: 
options[UIApplication.OpenURLOptionsKey.sourceApplication] as? 
String,
                       annotation: "")
 }


 func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
    if let dynamicLink = DynamicLinks.dynamicLinks().dynamicLink(fromCustomSchemeURL: url) {
      print("DynamicLink\(dynamicLink)")

        return true
    }
    return false
}

extension AppDelegate {
func application(_ application: UIApplication,
                 continue userActivity: NSUserActivity,
                 restorationHandler: @escaping ([Any]?) -> Void) -> 
Bool {
    guard
        userActivity.activityType == NSUserActivityTypeBrowsingWeb,
        let webpageURL = userActivity.webpageURL else {
            return false
    }
    return 
DynamicLinks.dynamicLinks().handleUniversalLink(webpageURL) { 
dynamiclink, error in
        guard let url = dynamiclink!.url else { return }


        print("url:", url)
    }
    }
 }

最佳答案

如果您使用长版本的深层链接打开应用程序,则应确保您的 link 值采用百分比编码,这样您的 &,?,=内部链接内的符号由 firebase 进行编码和正确处理。

关于ios - 单击动态链接时深层链接不包含有效的必需参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54294267/

相关文章:

ios - iPad 上具有多个可视页面的 UIPageControl

ios - 如何测试自定义 UINavigationController 行为

ios - Firebase Firestore 多个查询

android - 任务 ':app:mergeDebugResources' 执行失败。 [string/com.crashlytics.android.build_id] 错误 : Duplicate resources

java - 当我向 Firebase 实时数据库添加新值时如何保存当前日期/时间

ios - 如何组织Android NDK/iOS项目

ios - 如何让 SwiftUI 全屏显示?

swift - 在对象 deinit 的扩展中调用代码?

android - Firebase 离线功能和 addListenerForSingleValueEvent

ios - NSPredicate 查询不包含特定字符串