【问题标题】:How to know app was installed through firebase dynamic link in didFinishLaunchingWithOptions?如何知道应用程序是通过 didFinishLaunchingWithOptions 中的 firebase 动态链接安装的?
【发布时间】:2017-11-23 08:47:10
【问题描述】:

我正在我的 iOS 应用程序中实现 firebase 动态链接,我已经可以解析链接,重定向到 AppStore 等。现在我想区分应用程序的第一次运行,当用户从动态链接安装它时 - 我想跳过介绍,向他展示预计要展示的内容。

有没有办法在进入 didFinishLaunchingWithOptions 之前知道应用是如何打开的?

【问题讨论】:

    标签: objective-c firebase firebase-dynamic-links


    【解决方案1】:

    当 Firebase 动态链接 iOS SDK 完成检索待处理(延迟)动态链接时,将调用方法 application:openURL:options:。 如果找到挂起的动态链接,对象[[FIRDynamicLinks dynamicLinks] dynamicLinkFromCustomSchemeURL:url] 将具有非零属性urlurl 将等于您的深层链接,该用户在未安装您的应用程序时点击了该链接。如果未找到链接,则此属性将为 nil。

    我建议您在didFinishLaunchingWithOptions 中显示“加载屏幕”。当 Firebase 动态链接 SDK 将结果传递给您时,如果找到待处理的动态链接,您可以继续自定义载入。如果未找到待处理的动态链接,则默认加入。请记住,如果网络速度很慢,这可能需要一些时间。您可能希望将超时设置为 X 秒,以免用户在“加载屏幕”时停留太久。

    关于在 iOS 上接收 Firebase 动态链接的文档https://firebase.google.com/docs/dynamic-links/ios/receive

    【讨论】:

    • Ivanow "当 Firebase 动态链接 SDK 将结果传递给您时,如果找到待处理的动态链接,您可以继续自定义载入。如果未找到待处理的动态链接,则可以使用默认载入。"但是,如果永远不会调用 openURL,我怎么知道是否找到了挂起的动态链接?因为并非总是使用动态链接打开/下载应用程序。我真的希望你能帮我解决这个问题,谢谢。
    • @muyat openURL 即使没有找到挂起的链接也会被调用。您将收到类似于“://google/link/?dismiss=1&is_weak_match=1”的链接。请参阅此评论 github.com/firebase/firebase-ios-sdk/issues/… 我正在努力改进文档以明确这一点。如果您没有看到 openURL: 请发表评论,如本答案所述。
    • @Ivanow 感谢您的回复。我将尝试实现这一点,并让您知道一切是否对我有用!再次感谢。
    • @Ivanow 加载屏幕完成后,我需要知道应用程序是否使用动态链接打开。延迟启动屏幕是可能的,但要延迟多长时间? 2、3 或 5 秒?希望收到您的来信!
    • “加载屏幕”是指您自己的 UIViewController 子类,它将显示您的应用程序徽标和 UIActivityIndi​​cator 等信息。您可以随时将此视图控制器保持在屏幕上,并且您的应用不会被杀死。
    猜你喜欢
    • 2017-03-05
    • 1970-01-01
    • 2020-03-23
    • 1970-01-01
    • 1970-01-01
    • 2018-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多