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