如果用户没有安装,Firebase动态链接在iOS 11.3.1上无法运行。还有人遇到过这个问题吗?在iOS 11.3.1之前,这个问题可以正常运行
再现步骤:
1.点击FDL链接
1.用户重定向到应用商店
1.用户安装应用程序
1.用户打开应用程序
- FDL参数未通过
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
//the url here returns:
//google/link/?match_type=none&match_message=No pre-install link matched for this device.
or
//google/link/?dismiss=1&is_weak_match=1
}
2条答案
按热度按时间7rfyedvj1#
我已经向Firebase报告了这个问题,他们仍在修复。
https://github.com/firebase/firebase-ios-sdk/issues/1244
同时,解决方法是关闭forcedRedirectEnabled。
或者如果您使用管理控制台生成链接,则需要取消选中跳过应用程序预览页设置。
请注意,这意味着用户将看到一个间隙页面之前,它重定向到应用程序商店,这是不理想的,但至少FDL参数将被传递。
希望这能帮到什么人。
干杯!
jfgube3f2#
我也遇到了同样的问题。我发现当我删除
Info.plist
中的FirebaseDeepLinkPasteboardRetrievalEnabled
时,问题就解决了https://firebase.google.com/docs/dynamic-links/ios/receive
1.可选:禁用动态链接SDK对iOS粘贴板的使用。
默认情况下,动态链接SDK使用粘贴板来提高安装后深层链接的可靠性。通过使用粘贴板,动态链接可以确保当用户打开动态链接但需要先安装您的应用时,用户可以在安装后首次打开应用时立即转到原始链接内容。
这样做的缺点是,在iOS 14及更高版本中,使用粘贴板会触发通知。因此,用户第一次打开应用时,如果粘贴板包含URL,他们会看到一条通知,表明您的应用已访问粘贴板,这可能会导致混淆。
要禁用此行为,请编辑Xcode项目的Info.plist文件,并将FirebaseDeepLinkPasteboardRetrievalEnabled键设置为NO。