[英]Firebase dynamic link not opening app iOS 14
我正在嘗試創建動態鏈接以作為我的應用程序推薦系統的一部分。 我相信我成功地創建了鏈接,但是每當我在運行我的應用程序時從我的筆記應用程序中單擊一個(我被告知應該只打開應用程序),我都會被定向到 Safari 頁面,然后是 App Store。 這讓我相信無論出於何種原因,我的應用程序根本沒有處理動態。
我正在使用自定義域 URI 前綴,特別是https://mywebsite.com/invite ,這是創建動態鏈接的完整代碼
guard let uid = Auth.auth().currentUser?.uid else {return}
let link = URL(string: "https://mywebsite.com/invite/?invitedby=\(uid)")
let referralLink = DynamicLinkComponents(link: link!, domainURIPrefix: "https://mywebsite.com/invite")
referralLink?.iOSParameters = DynamicLinkIOSParameters(bundleID: "myBundleId")
referralLink?.iOSParameters?.minimumAppVersion = "1.0"
referralLink?.iOSParameters?.appStoreID = "123456789"
referralLink?.shorten { (shortURL, warnings, error) in
guard let referURL = shortURL else {
Service.showAlert(on: self, style: .alert, title: "Link Error", message: "We were unable to retreive your referral link at this time.")
return
}
let activityVC = UIActivityViewController(activityItems: [referURL], applicationActivities: nil)
UIApplication.shared.windows.first?.rootViewController?.present(activityVC, animated: true, completion: nil)
}
我從據稱旨在處理傳入動態鏈接的 Firebase 文檔中獲取的代碼如下。
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, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
let handled = DynamicLinks.dynamicLinks().handleUniversalLink(userActivity.webpageURL!) { (dynamicLink, error) in
if (dynamicLink != nil) && !(error != nil) {
self.handleDynamicLink(dynamicLink)
}
}
return handled
}
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
if let dynamicLink = DynamicLinks.dynamicLinks().dynamicLink(fromCustomSchemeURL: url) {
return handleDynamicLink(dynamicLink)
}
return false
}
除了我的代碼之外,我還確保在我的 info.plist 中,我在 FirebaseDynamicLinksCustomDomains 鍵下列出了“https://mywebsite.com/invite”,我已將我的應用程序包添加為 URL 類型,並添加了 applinks:mywebsite .com 到我的應用關聯域。
我檢查了多個其他帖子,但我不太確定這里出了什么問題。 如果 someboyd 可以闡明任何潛在的問題,那就太好了。
您創建的鏈接錯誤。
您需要設置:
let linkBuilder = DynamicLinkComponents(link: link, domainURIPrefix: "Firebase short link goes here")
讓 iOSParams = DynamicLinkIOSParameters(bundleID: "IOS app bundle id 放在這里")
iOSParams.customScheme = "url scheme" // for ios // forandroid firebase 有不同的屬性
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.