我的要求是从已生成的动态链接 URL
中获取 URI
方案。即使在 firebase
示例应用中,返回的也是深层链接 url 而不是 URI 方案。
例如:
- 我们的动态链接 url 是 -> https://my-app-code.app.goo.gl/value .
- iOS 自定义应用方案(从高级选项添加):myappscheme://some-tag/some-tag-id
- 长动态链接 url 是 -> https://my-app-code.app.goo.gl/?link=my-web-url&apn=id&isi=android-google-play-id&ibi=ios-bundle-id&ius=ios-custom-app-scheme
当我点击电子邮件/笔记中的动态链接 url ( https://my-app-code.app.goo.gl/value ) 时,回调将是 continueuseractivity 函数,我使用以下 block -
BOOL handled = [[FIRDynamicLinks dynamicLinks] handleUniversalLink:incomingUrl completion:^(FIRDynamicLink * _Nullable dynamicLink, NSError * _Nullable error)
获取 url (dynamicLink.url)。在这个 block 中,我得到了这个深层链接 url
-> my-web-url(这是我上面提到的长动态链接中链接参数的一部分)。
我的实际要求是获取与 URL 关联的 URI 方案 myappscheme://some-tag/some-tag-id。我如何得到这个?
我什至尝试了以下 -
FIRDynamicLink *dynamicLink = [[FIRDynamicLinks dynamicLinks] dynamicLinkFromCustomSchemeURL:url];
在这两种情况下,我都没有得到 URI 方案。
请帮忙。
最佳答案
您尝试执行的操作目前在 iOS 上无法通过动态链接实现。您混淆了 URI scheme (myappscheme://
) 与 URI 路径 (myappscheme://some-tag/some-tag-id
)。
据我所知,iOS 上的动态链接仅支持该方案(通过 ius
参数)。这令人困惑,因为 Android 确实支持 URI 路径(通过 al
参数)。对于 iOS,您需要根据深层链接 URL 进行路由。
或者,您可以研究更强大的深度链接平台,例如 Branch.io (完全披露:我在 Branch 团队)。 Branch 确实支持包含您想要的任何数据的自定义链接参数,包括自定义 URI 路径。
关于ios - Firebase 动态链接 : How to get the URI scheme from the dynamic link that gets generated?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39915502/