【问题标题】:How to transfer a firebase dynamic link to a newly installed application?如何将 Firebase 动态链接转移到新安装的应用程序?
【发布时间】:2017-08-02 12:33:03
【问题描述】:

我所说的一切都与 ios 9 及更高版本有关。 Firebase 文档说:

当用户打开您的一个动态链接时,如果您的应用还没有 已安装,用户被发送到 Play Store 或 App Store 进行安装 您的应用程序(除非您另有说明),然后您的应用程序就会打开。你可以 然后检索传递给您的应用程序的链接并处理该链接 适合您的应用。

我成功通过 FB-link 安装了我的应用程序,并通过链接打开了我安装的应用程序。但是当我尝试单步安装和打开时,应用程序在没有通过链接的情况下打开。也就是说,如果我的应用程序已经安装并且我单击链接,那么应用程序将打开并传递链接。但是如果没有安装应用程序并且我点击 FN-link 然后 iOS 打开 AppStore 并安装应用程序,然后我点击“打开”按钮,应用程序打开时没有链接。我很抱歉我的英语不好,但希望你能理解我。

更新

我见过类似的questionquestion

检查点。

  1. 应用程序通过自定义架构 url 启动(openURL 被执行)(在我的例子中它与 bundle id 相同)
  2. 应用程序通过动态链接启动(continueUserActivity 被执行)。
  3. 我尝试使用蜂窝网络而不是 wi-fi,但没有成功。
  4. 如果未安装应用程序,请在动态链接上使用我的应用程序打开 AppStore。
  5. 在 didFinishLaunchingWithOptions 我调用 [FIRApp 配置]。

没有任何帮助。

我没有说我使用 Xamarin 和 Xamarin FireBase 可能是它使用了旧版本的原生 FireBase 库。

已解决!

Xamarin Firebase 插件已更新,问题已解决。

【问题讨论】:

    标签: ios firebase xamarin.ios firebase-dynamic-links


    【解决方案1】:

    让我建议在未安装 iOS App 的情况下如何在 iOS 上测试 Firebase 动态链接。

    • 从 iPhone 上移除 iOS 应用(确保使用实际设备,而不是模拟器);
    • 生成 Firebase 动态链接并将链接粘贴到 iOS Notes 应用;
    • 点击笔记应用中的链接;
    • 确保看到插页式页面,点击“打开”按钮。之后,您应该导航到 Apple AppStore;
    • 把断点或者NSLog放到[UIApplicationDelegate application:openURL:options:],观察url值;
    • 使用 Xcode 安装和启动应用程序;
    • 应用程序启动后不久,您应该观察到对带有 url 的 [UIApplicationDelegate application:openURL:options:] 的调用。在这里你会打电话:

    FIRDynamicLink *dynamicLink = [[FIRDynamicLinks dynamicLinks] dynamicLinkFromCustomSchemeURL:url];

    如果找到 Firebase 动态链接,您应该会看到 dynamicLink.url 属性不为零。如果未找到 Firebase 动态链接,您将看到 dynamicLink.url 属性为零。

    当此场景运行良好时,您可以在 Safari、Facebook、Email 和其他应用程序中重新检查 FDL 行为。

    如果应用已经安装,那么点击 Firebase 动态链接应该会启动带有链接的应用。注意[UIApplicationDelegate application:continueUserActivity:restorationHandler:],值userActivity.webpageURL

    【讨论】:

    • 如果从 firebase 库中抽象出来,AppStore 是否应该使用 openURL 或 continueUserActivity 回调打开我的应用程序?
    • AppStore 不会将任何链接传递给您的应用程序。因此,在安装 App 后,用户可以通过点击“打开”或从 iPhone 主屏幕直接从 AppStore 启动 App。在每种情况下,都没有将链接传递给应用程序。相反,“Firebase Dynamic Links iOS SDK”将从服务器检索待处理的动态链接,并使用找到的链接调用您的 UIApplicationDelegate 方法。
    • 这对我来说是一个惊喜!但是 Firebase 怎么知道这个设备的链接是什么?
    • 我已经完成了上述所有步骤,但没有人调用 openURL。我相信 [FIRApp configure] 可能会有所帮助,但事实并非如此。
    • @AlexeySubbota 请尝试此答案中列举的建议stackoverflow.com/questions/45415731/… 如果这没有帮助,请打开 Firebase 错误,请参阅评论 stackoverflow.com/questions/45415731/…
    【解决方案2】:

    我能够在不更改任何代码的情况下解决这个问题,只需运行pod update 并更新到最新版本的 Firebase。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-23
      • 2021-08-08
      • 2018-10-22
      • 1970-01-01
      • 2020-01-19
      • 1970-01-01
      • 1970-01-01
      • 2020-05-05
      相关资源
      最近更新 更多