如何将Firebase动态链接转移到新安装的应用程序?

问题描述:

我所说的一切都属于ios 9及以上版本。 火力地堡文件说:如何将Firebase动态链接转移到新安装的应用程序?

当用户打开您的动态链接的一个,如果你的应用程序还没有安装 ,用户被发送到Play商店或App Store,安装 您的应用程序(除非你否则指定),并打开您的应用程序。您可以 然后检索传递给您的应用的链接,并根据您的应用处理链接 。

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

UPDATE

我已经看到了同样的相似questionquestion

检查要点。

  1. 应用程序启动(被执行的OpenURL)通过自定义模式的URL(在我的情况下,它是作为捆绑ID相同)
  2. 应用程序启动(执行continueUserActivity)通过动态链接。
  3. 我尝试使用手机而不是Wi-Fi无法成功。
  4. 如果应用程序没有在动态链接上安装磁贴,则用我的应用程序打开AppStore。
  5. 在didFinishLaunchingWithOptions中,我调用[FIRApp configure]。

没有什么帮助。

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

已解决!

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

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

  • 从iPhone中删除iOS应用程序(确保使用实际设备,而不是模拟器);
  • 生成Firebase动态链接并将链接粘贴到iOS Notes应用程序;
  • 点击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,电子邮件和其他应用程序中重新检查FDL行为。

如果已安装应用程序,则点击Firebase动态链接应该使用链接启动应用程序。留意[UIApplicationDelegate application:continueUserActivity:restorationHandler:],值userActivity.webpageURL

+0

如果从firebase库中抽象出来,AppStore应该使用openURL或continueUserActivity回调函数打开我的应用程序吗? –

+0

AppStore不会将任何链接传递给您的应用程序。因此,在安装App后,用户可以通过点击“打开”或从iPhone主屏幕直接从AppStore启动应用程序。在每种情况下,都没有链接传递给应用程序。 相反,“Firebase动态链接iOS SDK”将从服务器检索未决的动态链接,并使用找到的链接调用您的UIApplicationDelegate方法。 –

+0

这对我来说是一个惊喜!但Firebase如何知道此设备的链接? –