我正在我的iOS应用程序中实现firebase动态链接,我已经可以解析链接,重定向到AppStore等。现在我想区分应用程序的第一次运行,当用户从动态链接安装它时 - 我想要跳过介绍并向他展示预期显示的内容。
是否有一些参数可以在application(_:didFinishLaunchingWithOptions:)
中找到,所以我可以说它是通过动态链接启动的?
稍后会调用方法application(_:continueUserActivity:userActivity:restorationHandler:)
,因此介绍已经启动。
这种情况很难测试,因为您必须在AppStore上发布您的应用程序。
答案 0 :(得分:3)
您实际上并不需要在App Store中发布应用程序才能实现此功能 - 单击链接,关闭App Store,然后通过Xcode(或任何其他测试版分发平台)安装应用程序构建TestFlight或Fabric)具有完全相同的效果。
根据Firebase docs,第一次安装调用的方法是var foreach = this.props.data.map(function(item){
return(
<HeaderMiniComment name={item.name} surname={item.surname} key={item.id}/>
)
});
var HeaderMiniComment = React.createClass({
render:function(){
return(
<div>
<span><p>{this.props.name}</p></span>
<br />
<span style={{color:'red'}}><p>{this.props.surname}</p></span>
</div>
)
}
});
data = [{id: 1, name: 'John', surname: 'Kennedy'}, {...}, ...];
(不,这对我来说也没有意义)。 openURL
方法适用于Universal Links,仅在打开链接时已经安装的情况下才会使用
我不知道有任何方法可以检测应用程序是否在安装后第一次打开“延迟”#39;链接,但只要存在深层链接,您就可以直接路由到共享内容(跳过介绍)。如果没有深层链接,请显示常规介绍。
您可以查看Branch.io(完全披露:我在分支机构团队中)。除此之外,Branch还是Firebase动态链接的绝佳替代品,具有大量附加功能。以下是Branch continueUserActivity
中立即返回的所有参数的示例:
didFinishLaunchingWithOptions
您可以在分支文档here上阅读有关这些参数的更多信息。
答案 1 :(得分:1)
嗯......据我所知,在application:(_:didFinishLaunchingWithOptions)
阶段您无法捕捉到任何可以通过动态链接打开应用程序的信息。 。正如您所提到的,您必须等到continueUserActivity
来电。
那就是说,FIRDynamicLinks.dynamicLinks()?.handleUniversalLink
几乎立即返回一个布尔值,所以你应该能够利用它来短路你的动画而不会是一个糟糕的用户体验。回调本身可能要在几毫秒之后才会发生,具体取决于它是缩短的动态链接(需要网络呼叫)还是扩展的动态链接(不是网络呼叫)。 / p>