我已经在我的服务器中实现了生成 Firebase iOS 动态链接的功能,只有我的深层链接、bundle id 和应用商店 id(使用 Whatsapp 作为测试用例)。
我可以在安装应用程序时触发重定向(阅读深层链接)。但是,当应用程序尚未安装时,深度链接始终用于重定向。因此,应用商店 ID 永远不会被触发。背后有什么可能的原因吗?
最佳答案
可能有助于调试案例的一些想法。
Firebase 动态链接的行为可能会略有不同,具体取决于点击链接的 iOS 应用程序。作为基准,我建议从发布到 iOS Notes App 的链接开始,然后点击 Notes App 中的链接。当这种情况有效时,您可以移动到其他应用程序中测试链接,例如 Safari、Facebook、WhatsApp 等。
如果未安装 iOS 应用程序,Firebase 动态链接(在您的情况下)应导航至 iOS AppStore。你能在这里发布你有问题的短或长动态链接吗?或者随时打开 Firebase 支持错误或发送电子邮件至 oleksiyi at google.com。
您可以尝试另一种技术:将 &d=1
附加到链接的末尾并在浏览器中打开链接。您将看到带有链接预期行为的调试页面。
作为替代方法,您可以在链接创建时从 FIRDynamicLinkIOSParameters(此处示例 https://firebase.google.com/docs/dynamic-links/ios/create 和此处文档 https://firebase.google.com/docs/reference/ios/firebasedynamiclinks/api/reference/Classes/FIRDynamicLinkIOSParameters)指定 fallbackURL
。在这种情况下,当未安装 iOS 应用程序时,链接应导航至此 URL。
编辑(通过电子邮件同步后这里是摘要): 原因是动态链接中的 AppStoreID 应该与您在项目的 Firebase 控制台中输入的应用程序的 AppStoreId 相匹配。
修复 #1: 我了解到您的应用程序尚未发布。您仍然可以在应用程序从您的 iTunesConnect 门户发布之前获得 AppStore ID。另请参阅有关 App https://stackoverflow.com/a/12764735/2546685 的 AppleID(与 AppStore ID 相同)的评论
当您创建此类链接时,该链接将转到 AppStore,但在您的应用程序实际发布之前,它不会打开您的应用程序页面。
修复 #2: 如果您希望链接在 App 发布之前正常工作,您可以按照以下步骤操作:
- 在您自己的网站上创建登陆页面,其中将显示如下内容:“App XYZ 尚不可用”
- 将此着陆页网址指定为动态链接中的“ifl”参数;
- 创建动态链接;
- 与人分享链接;
- 当您的 App 在 AppStore 中实际发布时,编辑着陆页,而不是在此处显示内容,将服务器重定向到您 App 的 AppStore 页面。
关于ios - 处理 firebase 的 iOS 动态链接时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45680893/