androidflutterfirebase-dynamic-linksandroid-app-links

Dynamic Links won't open in Android 13


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?


Solution

  • 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>