firebase / firebase-android-sdk

Firebase Android SDK
https://firebase.google.com
Apache License 2.0
2.25k stars 572 forks source link

160609896: Android SDK created dynamic long links can not be processed by iOS SDK #1747

Closed MarioBoehmer closed 1 year ago

MarioBoehmer commented 4 years ago

Step 2: Describe your environment

Step 3: Describe the problem

We currently implement dynamic links for our Android and iOS in our apps. Dynamic links created in Android and iOS differ in format for the domainUriPrefix for a long link. While iOS builds domainUriPrefix/?queryString, Android builds domainUriPrefix?queryString. So the DynamicLinkBuilders in both platforms differ in their output. The issue gets problematic when you send an Android created long link to iOS. The iOS handleUniversalLinks method expects the format domainUriPrefix/queryString and will not be able to find the link from an Android dynamic link due to the missing /.

Steps to reproduce:

Follow the documentation to create a dynamic link in Android. Pass in your domainUriPrefix like described "https://link.example.com". Pass in your target link like described "https://www.example.com/abc". See that the created long link will be "https://link.example.com?link=https%3A%2F%2Fwww.example.com%2Fabc". Share the link with iOS and observe that iOS won't be able to parse the link as it asserts the universal link format domainUriPrefix/queryString.

Relevant Code:

https://github.com/firebase/firebase-android-sdk/blob/master/firebase-dynamic-links/src/main/java/com/google/firebase/dynamiclinks/internal/FirebaseDynamicLinksImpl.java#L117

google-oss-bot commented 4 years ago

I found a few problems with this issue:

MeghaB commented 4 years ago

Internal tracking b/160609896

Hey @MarioBoehmer - thanks for highlighting this inconsistency! We're exploring potential options.

argzdev commented 1 year ago

Hi folks, we'd like to inform you that the Firebase Dynamic Links service will be shutdown on August 25, 2025. In the meantime, only critical or security issues will be fixed in the SDK.

More at https://firebase.google.com/support/dynamic-links-faq