Firebase 动态链接预览内容

Posted

技术标签:

【中文标题】Firebase 动态链接预览内容【英文标题】:Firebase Dynamic Link Preview Content 【发布时间】:2019-01-07 18:59:19 【问题描述】:

我有一个通过我的Firebase 控制台链接/设置的动态链接。

此链接通过以下生成的 Facebook 链接共享按预期工作:

NSURL *link = [[NSURL alloc] initWithString:@"https://myapp.page.link/page?parameter=123"];

NSString *dynamicLinksDomain = @"myapp.page.link";
FIRDynamicLinkComponents *linkBuilder = [[FIRDynamicLinkComponents alloc]
                                         initWithLink:link
                                         domain:dynamicLinksDomain];
linkBuilder.iosParameters = [[FIRDynamicLinkIOSParameters alloc]
                             initWithBundleID:@"com.example.MyApp"];

content.contentURL = linkBuilder.url;

[FBSDKShareDialog showFromViewController:controller withContent:content delegate:self];

帖子在小格中按预期显示信息:


问题:

❌ 当用户点击 WITH 传递的parameter=123 链接时,它会将它们传送到“正确”但非常空白的页面(如下所示的LEFT .) ✅ 当用户点击链接WITHOUT传递的parameter=123时,它会将它们传递到预期的页面(如下图RIGHT所示)。


正如我上面所说,链接工作正常。这意味着,当点击“打开”时,它会将用户带到应用程序(如果已安装)或 App Store。即使 with 传递了参数,我确实通过 URL 在应用程序中正确接收它,但我的问题是:

如何通过动态链接传递参数,同时保持预览页面我的应用程序内容?


非常感谢任何帮助 - 提前致谢!

注意:

我已尝试通过 Firebase 控制台将组件添加到我的动态链接深层链接,例如 ...page.link/parameterID,以查看它是否预期在那里寻找值。没运气。我确定这与设置有关,但到目前为止我一直无法使用传递的参数保留内容。

【问题讨论】:

【参考方案1】:

我相信您可能会将动态链接中的深层链接与实际 Firebase 动态链接(.page.link URL)的子域混淆。因此,与其使用“https://myapp.page.link/page?parameter=123”作为您的深层链接参数,不如使用您自己的公司域名,例如https://example.com/page?parameter=123。

由于您通过 Firebase 动态链接子域传递 URL,这就是您的应用正在接收的深层链接,这可能不是您想要的。

查看此处的文档了解更多信息:

https://firebase.google.com/docs/dynamic-links/ios/create

您会注意到深层链接 URL 是 https://example.com,而子域 example.page.link 被用作动态链接域。

希望有帮助!

【讨论】:

我可以在那里传递任何参数值吗?它需要依赖于用户信息,而不仅仅是一个常数,即 123 该参数也必须是动态的 - 该值将根据用户共享的内容在应用内设置。每次都会不同,所以不能在 Firebase 的控制台中静态设置 @WillVonUllrich 是的,这是正确的。您可能希望通过构建器 API 以编程方式生成动态链接,并根据需要在您的应用将处理的深层链接上设置参数。 firebase.google.com/docs/dynamic-links/android/create 另请注意,您需要确保对传入的任何参数进行 URL 编码。【参考方案2】:

这里,我们讨论的是预览页面上显示的元标记信息。

这些是从您为其创建链接的 URL 自动获取的,或者您可以在创建链接时进行设置。在构建动态链接时添加这些参数。

标题(st) 说明 (SD) 图片 (si)

更多信息他们的工作方式是here。

问题似乎是,您的页面https://example.com/page?parameter=123 没有正确设置元标记。

【讨论】:

以上是关于Firebase 动态链接预览内容的主要内容,如果未能解决你的问题,请参考以下文章

firebase 动态链接预览链接不适用于 facebook Messenger

无法从 Firebase 缩短的动态链接网址检索动态链接

iOS 上的 Firebase 动态链接有时会失败

Firebase:以编程方式剪切动态链接

Firebase 动态链接重定向

Firebase 动态链接新安装事件