簡體   English   中英

首次從應用商店安裝應用時,Firebase 動態鏈接不起作用

[英]Firebase Dynamic Link doesn't work when installing app from appstore for the first time

我正在使用 Firebase Dynamic Link 來分享我的應用程序(> = IOS 9)並邀請人們參加活動(我的意思是,如果您擁有該應用程序,您可以使用 DeepLink 加入該活動,如果您沒有它,我會在參加活動之前將您發送到應用程序商店下載應用程序)。

我遵循 Firebase 文檔步驟:

  • 我在https://app_code.app.goo.gl/apple-app-site-association獲得了相關的 JSON。
  • 如果安裝了我的應用程序,DeepLink 運行良好。
  • 如果我的應用沒有安裝,Deeplink 會把你送到應用商店,但是第一次打開時,它不起作用,你不能參加活動。

這是我在首次安裝時獲取鏈接的代碼:

didFinishLaunchingWithOption

    FIROptions.default().deepLinkURLScheme =  "com.jerem.ProjectAlphaSasasa"
// "com.jerem.ProjectAlphaSasasa" is my app bundle Identifier
    FIRApp.configure()

並基於 Firebase 文檔,在第一次打開時,我使用了以下功能:

//MARK: First entry
//when your app is opened for the first time after installation on any version of iOS.
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool {
    print("00000000000000000")
    FIRCrashMessage("Link during first installation")
    downloadEventWithDeepLink = true
    downloadUrl = url
    return application(app, open: url, sourceApplication: nil, annotation: [:])

}

//same as previous but for older version ios 8 (not relevant)
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
    let dynamicLink = FIRDynamicLinks.dynamicLinks()?.dynamicLink(fromCustomSchemeURL: url)
    if let dynamicLink = dynamicLink {

        downloadEventWithDeepLink = true
        downloadUrl = dynamicLink.url
        return true
    }

    return false
}

在我的情況下, downloadEventWithDeepLink是一個標志(全局),我在用戶登錄到我的應用程序后檢查(並在那里使用 downloadUrl 變量)。 我的設置有什么問題?

另外,我不知道如何調試它。 有沒有辦法在 Xcode 中模擬 Appstore 的首次安裝? 查明是否調用了之前的函數(Open Url)?

謝謝你的幫助!

我認為通過刪除應用程序並單擊鏈接來測試您的實現,一旦它帶您進入 App Store,您就不會從那里安裝應用程序,而是從 Xcode 安裝,您應該收到動態鏈接調用。

作為建議,不要太擔心,您應該專注於測試您的動態鏈接是否在安裝后打開了應用程序。 測試它在應用程序啟動和關閉時是否有效。

如果您在重定向到您的應用程序時遇到問題,請檢查您是否已在 url 類型中注冊了您的包標識符,並在功能選項卡applinks:your_dynamic_links_domain您的域添加為applinks:your_dynamic_links_domain 如果您使用自定義域,則還必須將其注冊到 info.plist 中。

我從來沒有在我的項目中設置FIROptions.default().deepLinkURLScheme變量,它們都工作正常

我有同樣的問題,安裝后沒有收到鏈接。 問題是我的 url 方案沒有正確設置。

為了使其工作,我更改了目標的信息部分中的 URL 類型:我在標識符和 URL 方案字段中設置了包 ID。

URL 方案設置

我還在我的 firebase 設置代碼中添加了一行:

FIRApp.configure()
FIROptions.default().deepLinkURLScheme = "fr.machin.ES5"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM