代码之家  ›  专栏  ›  技术社区  ›  Kyle

Firebase动态链接不工作-DFL参数

  •  0
  • Kyle  · 技术社区  · 7 年前

    我在SO和web上搜索了一个类似的问题,虽然其他人似乎遇到了这个问题,但他们的解决方案并不适合我。

    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);
    

    对于我的用例 link desktopLink 参数是一样的——它们是我网站上的实际工作URL。无论用户使用动态链接点击什么设备,它都应该执行所需的操作。再一次,为了简单地让它工作,我链接到了我们的主要网站( https://www.mytravelerapp.com ).

    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 Store列表。以下是电子邮件中“行动号召”按钮的链接示例:

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

    我还没有在android应用程序中实现接收器来监听传入链接,因此我无法确认深度链接在该平台上是否正常运行。

    谢谢

    1 回复  |  直到 7 年前
        1
  •  1
  •   Ian Barber    7 年前

    实际上,您正在将一个动态链接包装到另一个动态链接中。邀请本身会生成一个动态链接,该链接没有您的DFL参数,因此它会重定向到存储。