Swift Firebase 动态链接:shortenURL 不工作
Swift Firebase Dynamic Links: shortenURL not working
在从 firebase 动态链接生成 shortenURL 时遇到了一些问题,我能够获得 longDynamicLink url。但是
这是我的代码,我正在使用 https://firebase.google.com/docs/dynamic-links/ios/create 以下步骤 DynamicLinkComponents.shortenURL 完成未接到电话并且也没有错误
guard let longDynamicLink = linkBuilder.url else { return "test" }
print("The long URL is: \(longDynamicLink)")
DynamicLinkComponents.shortenURL(longDynamicLink, options: nil) { url, warnings, error in
guard let url = url, error != nil else { return }
print("The short URL is: \(url)")
}
DynamicLinkComponents.shortenURL这部分没有执行
试试这个代码。此代码对我来说工作正常。
let shareLink:String = "http://YourURL"
guard let newSharelink = URL(string: shareLink) else { return }
let components = DynamicLinkComponents.init(link: newSharelink, domain: "Your Domin From Genrated By Google Account(EX. = napu4u.app.goo.gl)")
let iOSParams = DynamicLinkIOSParameters(bundleID: "YourBundle ID")
iOSParams.appStoreID = "Your AppStore ID (Optional)"
components.iOSParameters = iOSParams
let options = DynamicLinkComponentsOptions()
options.pathLength = .short
components.options = options
components.shorten { (shortURL, warnings, error) in
if let error = error {
print(error.localizedDescription)
return
}
let shortLink = shortURL
print(shortLink)
}
- 将此添加到 App Capabilities - Associated Domains 并输入 - applinks:yourdomain.com
在你的ViewController中添加
guard let link = URL(string: "https://www.yourdomain.com/share_location.html?Id=\(RandomID)&uid=\(uid)") else { return }
let dynamicLinksDomain = "yourdomain.page.link"
let components = DynamicLinkComponents(link: link, domain: dynamicLinksDomain)
// [START shortLinkOptions]
let options = DynamicLinkComponentsOptions()
options.pathLength = .unguessable
components.options = options
// [END shortLinkOptions]
// [START shortenLink]
components.shorten { (shortURL, warnings, error) in
// Handle shortURL.
if let error = error {
print(error.localizedDescription)
return
}
print(shortURL?.absoluteString ?? "")
self.shortLink = shortURL
}
在从 firebase 动态链接生成 shortenURL 时遇到了一些问题,我能够获得 longDynamicLink url。但是
这是我的代码,我正在使用 https://firebase.google.com/docs/dynamic-links/ios/create 以下步骤 DynamicLinkComponents.shortenURL 完成未接到电话并且也没有错误
guard let longDynamicLink = linkBuilder.url else { return "test" }
print("The long URL is: \(longDynamicLink)")
DynamicLinkComponents.shortenURL(longDynamicLink, options: nil) { url, warnings, error in
guard let url = url, error != nil else { return }
print("The short URL is: \(url)")
}
DynamicLinkComponents.shortenURL这部分没有执行
试试这个代码。此代码对我来说工作正常。
let shareLink:String = "http://YourURL"
guard let newSharelink = URL(string: shareLink) else { return }
let components = DynamicLinkComponents.init(link: newSharelink, domain: "Your Domin From Genrated By Google Account(EX. = napu4u.app.goo.gl)")
let iOSParams = DynamicLinkIOSParameters(bundleID: "YourBundle ID")
iOSParams.appStoreID = "Your AppStore ID (Optional)"
components.iOSParameters = iOSParams
let options = DynamicLinkComponentsOptions()
options.pathLength = .short
components.options = options
components.shorten { (shortURL, warnings, error) in
if let error = error {
print(error.localizedDescription)
return
}
let shortLink = shortURL
print(shortLink)
}
- 将此添加到 App Capabilities - Associated Domains 并输入 - applinks:yourdomain.com
在你的ViewController中添加
guard let link = URL(string: "https://www.yourdomain.com/share_location.html?Id=\(RandomID)&uid=\(uid)") else { return } let dynamicLinksDomain = "yourdomain.page.link" let components = DynamicLinkComponents(link: link, domain: dynamicLinksDomain) // [START shortLinkOptions] let options = DynamicLinkComponentsOptions() options.pathLength = .unguessable components.options = options // [END shortLinkOptions] // [START shortenLink] components.shorten { (shortURL, warnings, error) in // Handle shortURL. if let error = error { print(error.localizedDescription) return } print(shortURL?.absoluteString ?? "") self.shortLink = shortURL }