Firebasedynamic深层链接安装后无效

我正在尝试使用Firebase将深层链接传递到我的应用程序,以便安装。

为了testing这一点,我正在按照Firebase文档和Firecastvideo提供的步骤在大约12分40秒处进行testing。 步骤如下:

  1. 首先,我从我的设备上删除应用程序。
  2. 然后我按链接打开应用程序商店。
  3. 然后我从xcode运行我的应用程序。
  4. 预期:在应用程序中,dynamicLink.url属性将等于“https://www.example.com/data/helloworld”:openURL
  5. 现实: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到达零。 任何援助表示赞赏。

对于其他谁遇到这个相同的错误谁…

  1. 如果你的application:openURL方法正在被调用,并且
  2. 你似乎从你的dynamicLinkFromCustomSchemeURL方法获得一个有效的dynamic链接对象,但是
  3. 该dynamicLink对象的url参数是nil

然后仔细检查,看看你在Safari中是否处于“私人”模式。 这会让Firebasedynamic链接检索您点击的原始链接的function变得混乱。

我遇到过同样的问题。 我正在得到restorationHandler的callback,但在handleUniversalLinkcallbackdynamiclink和错误均为零。 花了一些时间后,我发现我的问题。

原来,url是区分大小写的。 例如,如果你的url是:

https://xzz6b.app.goo.gl/0EWv

你在笔记中写了https://xzz6b.app.goo.gl/0ewv并点击了它。 它会加载你的应用程序,甚至给你的还原 处理器的callback,但dynamic链接将为零。

你甚至可以在浏览器中尝试。

希望它可以帮助任何人。