Firebase 动态链接不起作用 - DFL 参数

Firebase Dynamic Links not working - DFL parameter

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

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

我按照以下方式创建了我的 link(为此 post 目的而缩写的代码)

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 参数是相同的 - 它们是我网站上的实际工作 URL。无论用户使用动态 link 点击什么设备,它都应该执行所需的操作。同样,为了简单地使它正常工作,我已经 link 访问了我们的主要网站 (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();

但是,当我在桌面上通过电子邮件收到邀请时,它总是会转到 Play 商店列表,无论我在初始深度 link(DFL、AFL)中添加了什么。这是来自电子邮件 "call to action" 按钮的 link 示例:

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

我还没有在 android 应用程序中实现接收器来侦听传入的 links,所以我无法确认深层 link 是否在这方面表现得当平台。

非常感谢任何关于桌面 link 遗漏的建议。

谢谢!

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

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