2017-07-28 79 views
0

我已經在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應用中的接收器監聽傳入的鏈接,所以我不能確認是否或者深層鏈接在該平臺上行爲不當。

我非常感謝任何關於桌面鏈接丟失的建議或建議。

謝謝!

回答

1

你實際上是在另一個動態鏈接中包裝動態鏈接。邀請自己生成一個動態鏈接,該鏈接沒有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 –