Firebasedynamic深层链接安装后无效
我正在尝试使用Firebase将深层链接传递到我的应用程序,以便安装。
为了testing这一点,我正在按照Firebase文档和Firecastvideo提供的步骤在大约12分40秒处进行testing。 步骤如下:
- 首先,我从我的设备上删除应用程序。
- 然后我按链接打开应用程序商店。
- 然后我从xcode运行我的应用程序。
- 预期:在应用程序中,dynamicLink.url属性将等于“https://www.example.com/data/helloworld”:openURL
- 现实:dynamicLink.url属性到达零。
这是我在Firebase控制台中创build的深层链接url: https ://nqze6app.goo.gl/RIl8
这是传递给应用程序的URL:openURL被传递到dynamicLinkFromCustomSchemeURL之前:com.johnbogil.voices:// google / link / dismiss?fdl_cookie
这是我的openURL调用中的代码:
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options { FIRDynamicLink *dynamicLink = [[FIRDynamicLinks dynamicLinks] dynamicLinkFromCustomSchemeURL:url]; if (dynamicLink) { NSLog(@"I am handling a link through the openURL method"); [self handleDynamicLink:dynamicLink]; return YES; } else { return NO; } }
不知道为什么dynamicLink.url到达零。 任何援助表示赞赏。
对于其他谁遇到这个相同的错误谁…
- 如果你的
application:openURL
方法正在被调用,并且 - 你似乎从你的
dynamicLinkFromCustomSchemeURL
方法获得一个有效的dynamic链接对象,但是 - 该dynamicLink对象的
url
参数是nil
然后仔细检查,看看你在Safari中是否处于“私人”模式。 这会让Firebasedynamic链接检索您点击的原始链接的function变得混乱。
我遇到过同样的问题。 我正在得到restorationHandler的callback,但在handleUniversalLinkcallbackdynamiclink和错误均为零。 花了一些时间后,我发现我的问题。
原来,url是区分大小写的。 例如,如果你的url是:
你在笔记中写了https://xzz6b.app.goo.gl/0ewv并点击了它。 它会加载你的应用程序,甚至给你的还原 处理器的callback,但dynamic链接将为零。
你甚至可以在浏览器中尝试。
希望它可以帮助任何人。