Firebase动态链接无法正常工作 - DFL参数

问题描述:

我已经在SO和网上搜索过类似的问题,而其他人似乎遇到了这个问题,他们的解决方案对我而言并不适用。Firebase动态链接无法正常工作 - DFL参数

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

然而,当我通过电子邮件收到邀请我的桌面上,它总是转到Play商店列表,无论我添加到最初的深层链接(DFL,AFL)。这里的链接从“行动呼吁”按钮从电子邮件样本:

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

我还没有实现在Android应用中的接收器监听传入的链接,所以我不能确认是否或者深层链接在该平台上行为不当。

我非常感谢任何关于桌面链接丢失的建议或建议。

谢谢!

你实际上是在另一个动态链接中包装动态链接。邀请自己生成一个动态链接,该链接没有DFL参数,因此它将重定向到商店。

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

+0

啊,所以如果您使用手动方式来生成动态链接,那么您不需要使用AppInviteInvitation intent builder?那么,正如您所提到的,您只需调用用户个人设备上可用的应用程序的常规共享意图?那么它在技术上可以用于社交媒体渠道,电子邮件,短信等?感谢您的澄清 - 在阅读规格时并不完全表达这种联系。这也解释了为什么该活动不会回应我的主机 - 我不得不使用app_code.app.goo.gl主机而不是我的.com。 – Kyle

+0

快速跟进 - 如果我删除了AppInviteInvitation构建器,并只发送通过手动创建动态链接构建的Uri,则会出现Google 400错误。这是它创建的链接(一旦我找到工作,我会缩短它) - https://a3d4u.app.goo.gl/?link=https%253A%252F%252Fwww.mytravelerapp.com&apn=edu.bsu。 android.apps.traveler&dfl = https%3A%2F%2Fwww.mytravelerapp.com&amv = 635 – Kyle

+1

请在链接上追加&d = 1以查看调试页面。这里https://a3d4u.app.goo.gl/?link=https%253A%252F%252Fwww.mytravelerapp.com&apn=edu.bsu.android.apps.traveler&dfl=https%3A%2F%2Fwww.mytravelerapp。com&amv = 635&d = 1您可以看到链接参数(深层链接)有问题。 试试这个,而不是https://a3d4u.app.goo.gl/?link=https%3A//www.mytravelerapp.com&apn=edu.bsu.android.apps.traveler&dfl=https%3A%2F%2Fwww。 mytravelerapp.com&amv = 635 –