如何将Firebase动态链接转移到新安装的应用程序?
我所说的一切都属于ios 9及以上版本。 火力地堡文件说:如何将Firebase动态链接转移到新安装的应用程序?
当用户打开您的动态链接的一个,如果你的应用程序还没有安装 ,用户被发送到Play商店或App Store,安装 您的应用程序(除非你否则指定),并打开您的应用程序。您可以 然后检索传递给您的应用的链接,并根据您的应用处理链接 。
我成功地通过FB-link安装我的应用程序,并通过链接打开我已安装的应用程序。但是,当我尝试安装并单步打开时,应用程序将在没有链接传递的情况下打开。这是如果我的应用程序已经安装,我点击链接,然后通过链接打开应用程序。但是,如果应用程序没有安装,我点击FN链接,然后iOS打开AppStore并安装应用程序,然后我点击'打开'按钮,应用程序打开时没有链接。我很抱歉我的英文不好,但希望你能理解我。
UPDATE
检查要点。
- 应用程序启动(被执行的OpenURL)通过自定义模式的URL(在我的情况下,它是作为捆绑ID相同)
- 应用程序启动(执行continueUserActivity)通过动态链接。
- 我尝试使用手机而不是Wi-Fi无法成功。
- 如果应用程序没有在动态链接上安装磁贴,则用我的应用程序打开AppStore。
- 在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
。
如果从firebase库中抽象出来,AppStore应该使用openURL或continueUserActivity回调函数打开我的应用程序吗? –
AppStore不会将任何链接传递给您的应用程序。因此,在安装App后,用户可以通过点击“打开”或从iPhone主屏幕直接从AppStore启动应用程序。在每种情况下,都没有链接传递给应用程序。 相反,“Firebase动态链接iOS SDK”将从服务器检索未决的动态链接,并使用找到的链接调用您的UIApplicationDelegate方法。 –
这对我来说是一个惊喜!但Firebase如何知道此设备的链接? –