从动态链接接收 Firebase 重定向 URL

Posted

技术标签:

【中文标题】从动态链接接收 Firebase 重定向 URL【英文标题】:Receive Firebase redirected URL from dynamic link 【发布时间】:2017-10-15 10:03:15 【问题描述】:

我需要帮助来获取我从 firebase 动态链接仪表板创建的 URL。我只搜索了2天,我找不到任何东西。这是我要提的一张图片。

我从仪表板创建了深层链接,然后我写了如下内容。我想得到我在图中圈出的网址。

FirebaseDynamicLinks.getInstance()
                .getDynamicLink(getIntent())
                .addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() 
                    @Override
                    public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) 
                        // Get deep link from result (may be null if no link is found)
                        Uri deepLink = null;
                        if (pendingDynamicLinkData != null) 
                            deepLink = pendingDynamicLinkData.getLink();
                            Log.e("SplashActivity", "deepLink " + deepLink);
                          //  Log.e("SplashActivity", pendingDynamicLinkData.zzbyk().getString("Url"));
                        
                    
                )

                .addOnCompleteListener( this, new OnCompleteListener<PendingDynamicLinkData>() 
                    @Override
                    public void onComplete(@NonNull Task<PendingDynamicLinkData> task) 
                        if (task.getResult() != null)
                            Log.e("SplashActivity", " task ");
                    
                )

                .addOnFailureListener(this, new OnFailureListener() 
                    @Override
                    public void onFailure(@NonNull Exception e) 
                        Log.e("Splash", "getDynamicLink:onFailure", e);
                    
                );

通过上面的代码,我可以捕捉到深层链接。 有什么建议吗?

【问题讨论】:

请检查调试页面顶部的消息以获取您的链接ysep8.app.goo.gl/HuKx?d=1 确保您根据 Firebase 动态链接文档配置了您的 iosandroid 应用程序。如果您需要帮助,请随时打开 Firebase 支持票或在此处发表评论。 感谢您的回复。我在 Firebase 中为 IOS 和 Android 配置了动态链接仪表板。它有效,但我需要获得短链接。在我们的 IOS 应用程序中,我们可以通过 IOS 中的网页 URL 获取它。它返回短链接。但我不知道为什么无法获取已在 Firebase 动态链接控制台中定义的短链接。它只是我们必须在android中以编程方式创建所有动态链接的唯一方法吗?你发给我的链接我看了。在我的调试页面中似乎And和IOS的架构不同,我认为这很正常。 @OleksiyIvanov 嗨@OlcaySönmez。你是怎么解决这个问题的。我面临同样的问题。我无法获得完整的 URL。请告诉 【参考方案1】:

包含 iOS 应用信息的链接的调试页面示例https://test3p.app.goo.gl/?link=http://www.google.com&isi=585027354&ibi=com.google.AppInvitesSample.dev&d=1 当您使用 iOS 参数配置链接时,您应该会看到类似的内容。如果你添加 Android 参数,你会看到 Android 分支也展开了。

创建 Firebase 动态链接时,请确保您填写了“为 iOS 定义链接行为”和“为 Android 定义链接行为”部分。对于您的链接https://ysep8.app.goo.gl/HuKx,您似乎没有填写这些部分。

“为 iOS 定义链接行为”部分的示例:

【讨论】:

再次感谢您的回复。我已经在控制台中执行了此操作,并且我已经准备好了我的短链接。我要问的是,当任何人点击链接时,如果它存在,它将打开应用程序。如果它不存在,那么将重定向到商店。我的问题是,当它通过链接打开应用程序时,我想通过 FirebaseDynamicLinks.getInstance().getDynamicLink(getIntent()) 捕获短链接。但是当应用程序出现并调用我上面写的方法时,我可以仅捕获后备 URL 而不是短 URL。很高兴与您交谈,这有助于我更正链接。 嗯,为什么你的应用需要短链接?通常 App 对 deepLink 感兴趣。 FDL 短链接只是将 deepLink 传递到您的应用程序的一种方式。这个答案有帮助吗? ***.com/questions/45703215/… 我需要短链接,因为要知道点击了哪个深层链接。我知道我们可以在 firebase Analytics 中查看它,但我也向我的服务发送了请求。似乎我无法收到它,所以我发现它有一个 Rest api,但我也有一些问题。如果你看看这个问题,你会介意吗。我今天在***上写了这个问题。这是链接:***.com/questions/46810942/… 感谢您的关注。 评论了 REST API 问题。关于从 iOS SDK 获取短链接:我已经计划了从 SDK 返回原始长短链接到 App 的功能。没有时间表上的承诺。另一种跟踪方式:为每个链接添加一些随机数作为深度链接参数。您可以使用此编号来识别链接。 此处快速更新:我们刚刚开始编辑现有链接。因此,您可以通过以下方式解决:1)创建链接; 2) 编辑链接并将短链接后缀作为参数添加到深层链接;

以上是关于从动态链接接收 Firebase 重定向 URL的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 动态链接重定向

通过 Safari 打开时,Firebase 动态链接不会重定向到应用程序

如果应用程序未以编程方式安装 firebase 动态链接,则重定向到 iOS App Store

为 firebase google auth 指定重定向 url

通过电子邮件发送的动态链接具有 url 防御

可以根据身份验证状态自定义Firebase托管行为(例如,重定向)吗?