Firebase动态链接预览内容

时间:2019-01-07 18:59:19

标签: ios objective-c firebase firebase-dynamic-links

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

enter image description here

通过以下链接生成的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];

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

enter image description here


问题:

  • ❌当用户点击链接parameter=123时,会将其传递到“正确”但非常空白的页面(如下所示,显示在左侧。)
  • ✅当用户点击没有所传递的parameter=123链接时,它将把它们传递到预期的页面(如下所示,显示在 RIGHT 上)。
  • li>

enter image description here


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

  

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


非常感谢您的帮助-预先感谢!

注意:

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

2 个答案:

答案 0 :(得分:0)

我相信您可能会将动态链接中的深层链接与实际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则用作动态链接域。

希望有帮助!

答案 1 :(得分:0)

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

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

  • 标题(st)
  • 说明 (sd)
  • 图片 (si)

有关它们如何工作的更多信息是 here

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