【问题标题】:Firebase Dynamic Link doesn't work when installing app from appstore for the first time首次从应用商店安装应用时,Firebase 动态链接不起作用
【发布时间】:2017-05-19 05:10:24
【问题描述】:

我正在使用 Firebase 动态链接来分享我的应用 (>=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)是否被调用?

感谢您的帮助!

【问题讨论】:

  • 我有同样的问题你有什么解决办法吗?
  • 这个问题你解决了吗?
  • @jerem 你解决过这个问题吗?
  • 这里也一样。 FirebaseDynamicLinks (~> 4.0.5) - 最新
  • 同在这里你能解决这个问题吗

标签: ios swift firebase deep-linking firebase-dynamic-links


【解决方案1】:

我认为通过删除应用程序并单击链接来测试您的实现,一旦将您带到 App Store,您就不会从那里安装应用程序而是从 Xcode 安装,您应该会收到动态链接打电话。

作为一项建议,不要太担心这一点,您应该专注于测试您的动态链接是否会打开应用(如果已安装)。测试它在应用程序启动和关闭时是否正常工作。

如果您在重定向到您的应用时遇到问题,请检查您是否已在 url 类型中注册了您的捆绑标识符,并在功能选项卡中将您的域添加为 applinks:your_dynamic_links_domain。 如果您使用的是自定义域,您还必须将其注册到您的 info.plist。

我从未在我的项目中设置过FIROptions.default().deepLinkURLScheme 变量,它们都工作正常

【讨论】:

  • 我希望这是对的。但我遇到了 Firebase 动态链接无法从 App Store 打开的问题。
  • “来自”App Store 是什么意思?我还注意到,有时动态链接仅适用于模拟器,而不适用于真实设备,直到您在 App Store 上发布了模拟器工作版本
【解决方案2】:

我有同样的问题,安装后没有收到链接。问题是我的 url 方案没有正确设置。

为了让它工作,我在目标的 Info 部分更改了 URL 类型: 我在标识符和 URL 方案字段中设置了捆绑 ID。

我还在我的 firebase 设置代码中添加了一行:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-19
    • 1970-01-01
    • 2018-12-13
    • 2020-02-14
    相关资源
    最近更新 更多