Firebase动态链接无效 - DFL参数

时间:2017-07-28 12:03:25

标签: android firebase firebase-dynamic-links

我搜索了SO和网络上的类似问题,而其他人似乎遇到了这个问题,他们的解决方案对我不起作用。

DFL parameter in Firebase Dynamic Links Builder

从Android开始,我尝试为我的应用实施动态链接。该应用需要动态链接上的其他参数,因此我根据以下信息手动构建链接:https://firebase.google.com/docs/dynamic-links/create-manually

我已按以下方式创建了我的链接(代码缩写为本文的目的)

Uri.Builder builder = new Uri.Builder()
            .scheme("https")
            .authority(AppPrivate.Invitation.APP_CODE + ".app.goo.gl")
            .path("/")
            .appendQueryParameter("link", link)
            .appendQueryParameter("apn", AppPrivate.PACKAGE)
            .appendQueryParameter("dfl", desktopLink);

对于我的用例,linkdesktopLink参数是相同的 - 它们是我网站上的实际工作网址。无论用户使用动态链接点击什么设备,它都应该执行所需的操作。同样,为了简化这项工作,我已经链接到我们的主要网站(https://www.mytravelerapp.com)。

当我从Android设备发送邀请时,我会根据此处的代码示例生成一个意图:https://github.com/firebase/quickstart-android/blob/master/invites/app/src/main/java/com/google/firebase/quickstart/invites/MainActivity.java

return new AppInviteInvitation.IntentBuilder(context.getString(R.string.content_trip_invitation_title))
                .setMessage(message)
                .setDeepLink(uri)
                .setCustomImage(Uri.parse(AppPrivate.Invitation.TRIP_INVITE_DEEP_LINK_IMAGE))
                .setCallToActionText(context.getString(R.string.content_trip_invitation_cta))
                .build();

但是,当我在桌面上通过电子邮件收到邀请时,无论我添加到初始深层链接(DFL,AFL),它总是会进入Play商店列表。以下是"号召性用语"的链接示例。电子邮件中的按钮:

https://a3d4u.app.goo.gl/i/225742434763-3bd2c2fa-45f0-4ed8-aca3-37760d27d971

我还没有在Android应用中实现接收器来侦听传入链接,所以我无法确认深层链接是否在该平台上表现得恰当。

非常感谢您对我在桌面链接中遗漏的内容提出的任何建议或建议。

谢谢!

1 个答案:

答案 0 :(得分:1)

您实际上是在另一个动态链接中包装动态链接。 Invites本身会生成一个动态链接,它没有您的DFL参数,因此它会重定向到商店。

您可以尝试缩短生成的动态链接,并通过常规共享对话框进行共享,而不是使用邀请。