我有一个动态链接,该链接通过我的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];
帖子在小单元格中按预期显示了信息:
parameter=123
时,会将其传递到“正确”但非常空白的页面(如下所示,显示在左侧。)parameter=123
链接时,它将把它们传递到预期的页面(如下所示,显示在 RIGHT 上)。正如我在上面所述,链接可以正常工作。这意味着,当点击“打开”时,会将用户带到应用程序(如果已安装)或应用程序商店。即使通过参数传递 ,我 do 也会通过URL在应用程序中正确接收它,但是我的问题是:
如何在我的应用程序内容保持 预览页面的同时通过动态链接传递参数?
非常感谢您的帮助-预先感谢!
我尝试通过Firebase控制台将组件添加到我的动态链接深层链接中,例如...page.link/parameterID
,以查看它是否期望在那里寻找值。没运气。我确定这与设置有关,但是到目前为止,我一直无法使用传递的参数保留内容。
答案 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 中获取的,或者您可以在创建链接时进行设置。在构建动态链接时添加这些参数。
有关它们如何工作的更多信息是 here。
问题似乎是,您的页面 https://example.com/page?parameter=123 没有正确设置元标记。