打开 Firebase 链接后,在设备上重新安装应用程序时始终返回一个链接

Posted

技术标签:

【中文标题】打开 Firebase 链接后,在设备上重新安装应用程序时始终返回一个链接【英文标题】:Once opening a firebase link always returns a link when reinstalling the app on a device 【发布时间】:2017-12-20 14:44:59 【问题描述】:

我目前正忙于使用 firebase 动态链接,除了一件事之外,一切都运行良好。

当我点击一个 firebase 链接时,我将被重定向到我可以下载该应用的应用商店。当我下载应用程序时,调用了openURL方法并且动态链接不为空,应该是。

现在如果我删除该应用并重新安装它,动态链接仍然不是空的。这是为什么呢?

【问题讨论】:

【参考方案1】:

在您的应用收到链接后,Firebase 动态链接将不会被“使用”。自从您在 Safari 中单击链接后,动态链接的有效期为 1 小时。为了通知 App 之前使用了链接,我们提供了参数DynamicLink.matchType。

当您的应用第一次收到动态链接时,matchType 将为default。 (此处例外,如果复制唯一匹配成功,则 matchType 将为 unique。)所有后续链接将具有 matchType weak。此外,如果 matchType 的值为 none,则表示未实现匹配。

请提供您第一次和以后收到的链接示例,以确保我对您的情况的解释正确。

【讨论】:

我得到了这个,当应用程序打开时我可以点击链接,它得到正确的 https:// url,我可以进行深层链接。当它点击 AppDelegate 生命周期方法“打开 url”时,该 url 似乎为空。 url 似乎是 mySchemeString://google/link/dismiss=1&is_weak_match=1 对于我正在使用的 'open url' 方法: if let dynamicLink = DynamicLinks.dynamicLinks()?.dynamicLink(fromCustomSchemeURL: url) 而我正在使用的 restoreHandler 的工作方法是 lethandled = dynamicLinks .handleUniversalLink(userActivity.webpageURL!) 帮助! @Oleksiy Ivanov。 matchType 的概念是什么?我已阅读文档:firebase.google.com/docs/reference/swift/firebasedynamiclinks/…,但我没有得到它。以及动态链接有效性如何与匹配类型相关? 仅供参考,当我通过 cocoapods 添加 DynamicLinks Framework 时,DynamicLink.matchType 不可用,但是当我从这里手动下载库文件时:firebase.google.com/download/ios,我可以看到 DynamicLink.matchType。 @OleksiyIvanov。无法依赖 matchType 来解决问题,因为总是将 'matchType' 设为 'Unique'。 1. 设备未安装应用时:点击动态链接->应用商店->安装应用->打开应用->匹配类型为唯一。 2.再次从App Store卸载并安装应用程序->打开应用程序->匹配类型为唯一。 3.当应用安装到设备上时:点击动态链接->将打开应用->匹配类型为唯一。【参考方案2】:

将您的链接添加到Info.plist,如下所示:

例如,您使用的目标链接是: https://server-ozm3wg7wda-uc.a.run.app/ 你的firebase动态链接是: https://myapptest.com/link/?link=$encodedLink&apn=$bundleId&isi=1449448875&ibi=$bundleId

// Info.plist
<dict>
 //....
<key>FirebaseDynamicLinksCustomDomains</key>
<array>
    <string>https://myapptest.firebaseapp.com</string>
    <string>https://myapptest.com/link</string>
</array>
//...
</dict>

p/s:原始指令在这里:https://firebase.google.com/docs/dynamic-links/custom-domains

【讨论】:

以上是关于打开 Firebase 链接后,在设备上重新安装应用程序时始终返回一个链接的主要内容,如果未能解决你的问题,请参考以下文章

Flutter Firebase 动态链接不适用于新的 ios 应用安装

x分钟后自动重新打开android / ios应用程序

Firebase 动态链接没有与自定义标签上的短 URL 进行深度链接

Firebase 动态链接未打开应用

应用程序:openURL:选项:从 Firebase 动态链接安装应用程序后首次打开应用程序时未调用

Firebase消息通知在Android pie上强制终止后不显示通知