打开 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 似乎为空。将您的链接添加到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 应用安装
Firebase 动态链接没有与自定义标签上的短 URL 进行深度链接