3

I use dynamic links in my Flutter app. My dynamic links won't open on Android 13, on all other api levels and on iOS the links work --> lead back into the app to the specified screen.

I already checked the Android Manifest and made sure that the intent-filter is correctly set.

So did anyone experience the same issue and did solve it? Is it necessary to verify Dynamic Links as Android App Links?

luckyhandler
  • 10,651
  • 3
  • 47
  • 64

1 Answers1

7

I found the issue. A Firebase Dynamic Link is a wrapper for an actual link.

Here's how it is build in my Flutter Web project:

service.generateDynamicLink(
  key: Keys.firebaseApi,
  dynamicLinkInfoWrapper: DynamicLinkInfoWrapper(
    dynamicLinkInfo: DynamicLinkInfo(
      domainUriPrefix: 'company.page.link',
      link: 'https://company.de',
      androidInfo: AndroidInfo(androidPackageName: 'de.company.app'),
      iosInfo: IosInfo(iosBundleId:'de.company.app'),
    ),
  ),
)

On API levels below 33 it was perfectly fine to declare the intent-filter for the domainUriPrefix like this:

<intent-filter>
  <action android:name="android.intent.action.VIEW"/>
  <category android:name="android.intent.category.DEFAULT"/>
  <category android:name="android.intent.category.BROWSABLE"/>
  <data android:scheme="https"/>
  <data android:host="company.page.link"/>
</intent-filter>

so to declare the Dynamic Link itself. But in API 33 upwards it is also necessary now to declare what's inside the Dynamic Link, the link which looks like this:

<intent-filter>
  <action android:name="android.intent.action.VIEW"/>
  <category android:name="android.intent.category.DEFAULT"/>
  <category android:name="android.intent.category.BROWSABLE"/>
  <data android:scheme="https"/>
  <data android:host="company.de"/>
</intent-filter>
luckyhandler
  • 10,651
  • 3
  • 47
  • 64